- проблема с маршрутизацией через двух провайдеров, PavelR, 23:22 , 10-Мрт-11 (1)
не важно, как вы настраиваете, важно _что получается в результате_.В этом вам помогут команды: tcpdump (куда в действительности уходят пакеты, с какими адресами, возвращаются ли обратно) iptables --line -nvL iptables --line -nvL -t mangle iptables --line -nvL -t nat ip ru sh
ip ro sh table prov2 ip ro sh table main ip ro sh table default и "ip ro sh" прочих таблиц, имеющихся в вашей системе. // вот вы привели команду iptables -A .... - это добавление в конец списка. Дык что в нем в начале - телепатические способности - стоят слишком дорого, боюсь не потянете оплатить.
- проблема с маршрутизацией через двух провайдеров, ivan1970, 17:31 , 12-Мрт-11 (2)
Приведенные команды - практически вся настройка роутера# iptables --line -nvL Chain INPUT (policy ACCEPT 2326 packets, 240K bytes) num pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 32 packets, 4687 bytes) num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 2931 packets, 369K bytes) num pkts bytes target prot opt in out source destination # iptables --line -nvL -t mangle Chain PREROUTING (policy ACCEPT 118 packets, 11926 bytes) num pkts bytes target prot opt in out source destination 1 0 0 MARK tcp -- vlan10 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 MARK set 0xc Chain INPUT (policy ACCEPT 86 packets, 7239 bytes) num pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 32 packets, 4687 bytes) num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 53 packets, 5557 bytes) num pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 85 packets, 10244 bytes) num pkts bytes target prot opt in out source destination # iptables --line -nvL -t nat Chain PREROUTING (policy ACCEPT 34 packets, 3171 bytes) num pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 5 packets, 314 bytes) num pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 5 packets, 314 bytes) num pkts bytes target prot opt in out source destination 1 2 108 SNAT all -- * eth0 0.0.0.0/0 0.0.0.0/0 to:192.168.2.2 2 0 0 SNAT all -- * vlan256 0.0.0.0/0 0.0.0.0/0 to:192.168.42.251 # ip ro sh table prov2 default via 192.168.42.249 dev vlan256 # ip ro sh table main 192.168.42.248/29 dev vlan256 proto kernel scope link src 192.168.42.251 192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.2 10.10.10.0/24 dev vlan10 proto kernel scope link src 10.10.10.1 169.254.0.0/16 dev eth0 scope link metric 1004 169.254.0.0/16 dev vlan10 scope link metric 1009 169.254.0.0/16 dev vlan256 scope link metric 1010 default via 192.168.2.1 dev eth0 # ip ro sh table default пусто других таблиц нет вместо tcpdump предпочитаю пользоваться журналированием в iptables (для меня нагляднее) iptables -t mangle -A PREROUTING -d 77.88.21.3 -j LOG --log-prefix "pre_to_yandex " iptables -t mangle -A FORWARD -d 77.88.21.3 -j LOG --log-prefix "fw_to_yandex " iptables -t mangle -A POSTROUTING -d 77.88.21.3 -j LOG --log-prefix "post_to_yandex " iptables -t mangle -A PREROUTING -s 77.88.21.3 -j LOG --log-prefix "pre_from_yandex " iptables -t mangle -A FORWARD -s 77.88.21.3 -j LOG --log-prefix "fw_from_yandex " iptables -t mangle -A POSTROUTING -s 77.88.21.3 -j LOG --log-prefix "post_from_yandex " если добавить правило ip rule add from 10.10.10.40 table prov2 то # ip ru sh 0: from all lookup local 32765: from 10.10.10.40 lookup prov2 32766: from all lookup main 32767: from all lookup default tail -f /var/log/messages | grep yandex Mar 12 16:08:41 fedora kernel: [ 2392.511394] pre_to_yandex IN=vlan10 OUT= MAC=00:21:91:01:7a:14:00:03:47:7c:07:03:08:00 SRC=10.10.10.40 DST=77.88.21.3 LEN=40 TOS=0x00 PREC=0x00 TTL=128 ID=15647 DF PROTO=TCP SPT=4121 DPT=80 WINDOW=64956 RES=0x00 ACK FIN URGP=0 Mar 12 16:08:41 fedora kernel: [ 2392.511422] fw_to_yandex IN=vlan10 OUT=vlan256 SRC=10.10.10.40 DST=77.88.21.3 LEN=40 TOS=0x00 PREC=0x00 TTL=127 ID=15647 DF PROTO=TCP SPT=4121 DPT=80 WINDOW=64956 RES=0x00 ACK FIN URGP=0 MARK=0xc Mar 12 16:08:41 fedora kernel: [ 2392.511439] post_to_yandex IN= OUT=vlan256 SRC=10.10.10.40 DST=77.88.21.3 LEN=40 TOS=0x00 PREC=0x00 TTL=127 ID=15647 DF PROTO=TCP SPT=4121 DPT=80 WINDOW=64956 RES=0x00 ACK FIN URGP=0 MARK=0xc Mar 12 16:08:41 fedora kernel: [ 2392.551352] pre_from_yandex IN=vlan256 OUT= MAC=00:21:91:01:7a:14:00:15:17:f8:50:b2:08:00 SRC=77.88.21.3 DST=192.168.42.251 LEN=40 TOS=0x00 PREC=0x00 TTL=57 ID=50487 DF PROTO=TCP SPT=80 DPT=4121 WINDOW=65534 RES=0x00 ACK URGP=0 Mar 12 16:08:41 fedora kernel: [ 2392.551381] fw_from_yandex IN=vlan256 OUT=vlan10 SRC=77.88.21.3 DST=10.10.10.40 LEN=40 TOS=0x00 PREC=0x00 TTL=56 ID=50487 DF PROTO=TCP SPT=80 DPT=4121 WINDOW=65534 RES=0x00 ACK URGP=0 Mar 12 16:08:41 fedora kernel: [ 2392.551395] post_from_yandex IN= OUT=vlan10 SRC=77.88.21.3 DST=10.10.10.40 LEN=40 TOS=0x00 PREC=0x00 TTL=56 ID=50487 DF PROTO=TCP SPT=80 DPT=4121 WINDOW=65534 RES=0x00 ACK URGP=0 т.е. все работает а вот если добавить правило ip rule add fwmark 12 table prov2 то # ip ru sh 0: from all lookup local 32765: from all fwmark 0xc lookup prov2 32766: from all lookup main 32767: from all lookup default tail -f /var/log/messages | grep yandex Mar 12 16:25:03 fedora kernel: [ 3373.812830] pre_to_yandex IN=vlan10 OUT= MAC=00:21:91:01:7a:14:00:03:47:7c:07:03:08:00 SRC=10.10.10.40 DST=77.88.21.3 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=20010 DF PROTO=TCP SPT=4201 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0 Mar 12 16:25:03 fedora kernel: [ 3373.812866] fw_to_yandex IN=vlan10 OUT=vlan256 SRC=10.10.10.40 DST=77.88.21.3 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=20010 DF PROTO=TCP SPT=4201 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0 MARK=0xc Mar 12 16:25:03 fedora kernel: [ 3373.812884] post_to_yandex IN= OUT=vlan256 SRC=10.10.10.40 DST=77.88.21.3 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=20010 DF PROTO=TCP SPT=4201 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0 MARK=0xc Mar 12 16:25:03 fedora kernel: [ 3373.852495] pre_from_yandex IN=vlan256 OUT= MAC=00:21:91:01:7a:14:00:15:17:f8:50:b2:08:00 SRC=77.88.21.3 DST=192.168.42.251 LEN=48 TOS=0x00 PREC=0x00 TTL=57 ID=28184 DF PROTO=TCP SPT=80 DPT=4201 WINDOW=65535 RES=0x00 ACK SYN URGP=0 Mar 12 16:25:06 fedora kernel: [ 3376.821614] pre_to_yandex IN=vlan10 OUT= MAC=00:21:91:01:7a:14:00:03:47:7c:07:03:08:00 SRC=10.10.10.40 DST=77.88.21.3 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=20018 DF PROTO=TCP SPT=4201 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0 Мистика?
- проблема с маршрутизацией через двух провайдеров, PavelR, 18:10 , 12-Мрт-11 (3)
> # iptables --line -nvL -t mangle > Chain PREROUTING (policy ACCEPT 118 packets, 11926 bytes) > 1 0 0 MARK tcp -- vlan10 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 MARK set 0xc Ну дык - а что, разве не заметно, что счетчики на правиле по нулям ? почему так происходит, мне пока не понятно. > вместо tcpdump предпочитаю пользоваться журналированием в iptables (для меня нагляднее)
ну ладно, фиг с ним, смирюсь с таким извращением, всякое бывает. Действительно, видно в форварде, откуда пришел и куда уходит пакет. :-) Но: >т.е. все работает >а вот если добавить правило я нифига не вижу разницы между tail -f /var/log/messages | grep yandex в двух ваших случаях. А в случае с tcpdump вы бы сразу увидели, что оно пошло не по eth0 как вы ожидаете. Вот собственно, и ваше "мне так нагляднее". И в первом и во втором грепах пакеты маршрутизируются на vlan256. Не забывайте делать "ip ro flu ca". (ip route flush cache ?).
- проблема с маршрутизацией через двух провайдеров, ivan1970, 19:46 , 12-Мрт-11 (4)
> Ну дык - а что, разве не заметно, что счетчики на правиле > по нулям ? почему так происходит, мне пока не понятно.Потому что эта команда выполнена сразу после перезагрузки роутера. сейчас выглядит так Chain PREROUTING (policy ACCEPT 73148 packets, 8184K bytes) num pkts bytes target prot opt in out source destination 1 34 2525 LOG all -- * * 0.0.0.0/0 77.88.21.3 LOG flags 0 level 4 prefix `pre_to_yandex ' 2 35 3074 LOG all -- * * 77.88.21.3 0.0.0.0/0 LOG flags 0 level 4 prefix `pre_from_yandex ' 3 699 96153 MARK tcp -- vlan10 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 MARK set 0xc > ну ладно, фиг с ним, смирюсь с таким извращением, всякое бывает. Действительно, > видно в форварде, откуда пришел и куда уходит пакет. :-) ;-) > я нифига не вижу разницы между tail -f /var/log/messages | grep yandex > в двух ваших случаях. Разница в том, что во втором случае ответы от яндекса приходят их видно в таблице PREROUTING Mar 12 16:25:03 fedora kernel: [ 3373.852495] pre_from_yandex IN=vlan256 OUT= MAC=00:21:91:01:7a:14:00:15:17:f8:50:b2:08:00 SRC=77.88.21.3 DST=192.168.42.251 LEN=48 TOS=0x00 PREC=0x00 TTL=57 ID=28184 DF PROTO=TCP SPT=80 DPT=4201 WINDOW=65535 RES=0x00 ACK SYN URGP=0 а больше эти пакеты нигде не наблюдаются, как будто они умирают в черном ящике с названием routing decision от того, что ядро по каким-то причинам не передает их в таблицу FORWARD > И в первом и во втором грепах пакеты маршрутизируются на vlan256. Правильно, только в первом случае все пакеты с машины 10.10.10.40 маршрутизируются на vlan256 и в браузере я вижу страницу. А во втором случае на vlan256 маршрутизируются пакеты на 80 порт от любой хоста с интерфейса vlan10 и страниц в браузере я не вижу :-( > Не забывайте делать "ip ro flu ca". (ip route flush cache ?). Не забываю ;-)
- проблема с маршрутизацией через двух провайдеров, PavelR, 21:10 , 12-Мрт-11 (5)
>> я нифига не вижу разницы между tail -f /var/log/messages | grep yandex >> в двух ваших случаях. > Разница в том, что во втором случае ответы от яндекса приходят их > видно в таблице PREROUTING >Mar 12 16:25:03 fedora kernel: [ 3373.852495] pre_from_yandex IN=vlan256 OUT= MAC=00:21:91:01:7a:14:00:15:17:f8:50:b2:08:00 SRC=77.88.21.3 DST=192.168.42.251 LEN=48TOS=0x00 PREC=0x00 TTL=57 ID=28184 DF PROTO=TCP SPT=80 DPT=4201 WINDOW=65535 RES=0x00 ACK SYN URGP=0 А ничего, что во втором случае они тоже приходят: Mar 12 16:08:41 fedora kernel: [ 2392.551352] pre_from_yandex IN=vlan256 OUT= MAC=00:21:91:01:7a:14:00:15:17:f8:50:b2:08:00 SRC=77.88.21.3 DST=192.168.42.251 LEN=40 TOS=0x00 PREC=0x00 TTL=57 ID=50487 DF PROTO=TCP SPT=80 DPT=4121 WINDOW=65534 RES=0x00 ACK URGP=0 ? Правда там разница в флагах наличествует.. Так что - смотреть надо именно tcpdump-ом ) > Правильно, только в первом случае все пакеты с машины 10.10.10.40 маршрутизируются на > vlan256 и в браузере я вижу страницу. А во втором случае > на vlan256 маршрутизируются пакеты на 80 порт от любой хоста с > интерфейса vlan10 и страниц в браузере я не вижу :-( Чувствуете разницу - в первом случае - все пакеты, во втором - на 80 порт? запустите tcpdump на внутреннем интерфейсе. Я полагаю что каких-то пакетов вы не учли, например DNS.
- проблема с маршрутизацией через двух провайдеров, ivan1970, 21:42 , 12-Мрт-11 (6)
> А ничего, что во втором случае они тоже приходят: > Mar 12 16:08:41 fedora kernel: [ 2392.551352] pre_from_yandex IN=vlan256 OUT= MAC=00:21:91:01:7a:14:00:15:17:f8:50:b2:08:00 > SRC=77.88.21.3 DST=192.168.42.251 LEN=40 TOS=0x00 PREC=0x00 TTL=57 ID=50487 DF PROTO=TCP > SPT=80 DPT=4121 WINDOW=65534 RES=0x00 ACK URGP=0 так и я о том же! Ответы от яндекса приходят, только роутер их в локалку не передает :-( и в таблице FORWARD их нет > Чувствуете разницу - в первом случае - все пакеты, во втором - > на 80 порт? > запустите tcpdump на внутреннем интерфейсе. Я полагаю что каких-то пакетов вы не > учли, например DNS. Хорошо, меняю iptables -t mangle -D PREROUTING -i vlan10 -p tcp --dport 80 -j MARK --set-mark 12 на iptables -t mangle -I PREROUTING -s 10.10.10.40 -j MARK --set-mark 12 смотрим iptables --line -nvL -t mangle Chain PREROUTING (policy ACCEPT 2268 packets, 212K bytes) num pkts bytes target prot opt in out source destination 1 63 3926 MARK all -- * * 10.10.10.40 0.0.0.0/0 MARK set 0xc 2 40 2813 LOG all -- * * 0.0.0.0/0 77.88.21.3 LOG flags 0 level 4 prefix `pre_to_yandex ' 3 50 3794 LOG all -- * * 77.88.21.3 0.0.0.0/0 LOG flags 0 level 4 prefix `pre_from_yandex ' Т.е. опять маршрутизируем ВСЕ пакеты с хоста 10.10.10.40 на vlan256, только с помощью меток. Страницы не открываются. Даже пинги не проходят Mar 12 20:40:42 fedora kernel: [18713.668903] pre_to_yandex IN=vlan10 OUT= MAC=00:21:91:01:7a:14:00:03:47:7c:07:03:08:00 SRC=10.10.10.40 DST=77.88.21.3 LEN=60 TOS=0x00 PREC=0x00 TTL=128 ID=2599 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=57276 MARK=0xc Mar 12 20:40:42 fedora kernel: [18713.668934] fw_to_yandex IN=vlan10 OUT=vlan256 SRC=10.10.10.40 DST=77.88.21.3 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=2599 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=57276 MARK=0xc Mar 12 20:40:42 fedora kernel: [18713.668950] post_to_yandex IN= OUT=vlan256 SRC=10.10.10.40 DST=77.88.21.3 LEN=60 TOS=0x00 PREC=0x00 TTL=127 ID=2599 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=57276 MARK=0xc Mar 12 20:40:43 fedora kernel: [18713.708482] pre_from_yandex IN=vlan256 OUT= MAC=00:21:91:01:7a:14:00:15:17:f8:50:b2:08:00 SRC=77.88.21.3 DST=192.168.42.251 LEN=60 TOS=0x00 PREC=0x00 TTL=58 ID=34471 PROTO=ICMP TYPE=0 CODE=0 ID=512 SEQ=57276
- проблема с маршрутизацией через двух провайдеров, PavelR, 22:00 , 12-Мрт-11 (7)
> Mar 12 20:40:43 fedora kernel: [18713.708482] pre_from_yandex IN=vlan256 OUT= MAC=00:21:91:01:7a:14:00:15:17:f8:50:b2:08:00 > SRC=77.88.21.3 DST=192.168.42.251 LEN=60 TOS=0x00 PREC=0x00 TTL=58 ID=34471 PROTO=ICMP > TYPE=0 CODE=0 ID=512 SEQ=57276 Ну а это что ? Может быть прекратим катать вату и начнем смотреть в tcpdump ?
- проблема с маршрутизацией через двух провайдеров, PavelR, 22:03 , 12-Мрт-11 (8)
>> Mar 12 20:40:43 fedora kernel: [18713.708482] pre_from_yandex IN=vlan256 OUT= MAC=00:21:91:01:7a:14:00:15:17:f8:50:b2:08:00 >> SRC=77.88.21.3 DST=192.168.42.251 LEN=60 TOS=0x00 PREC=0x00 TTL=58 ID=34471 PROTO=ICMP >> TYPE=0 CODE=0 ID=512 SEQ=57276 > Ну а это что ?это я к тому, что ответы от яндекса то пришли.
- проблема с маршрутизацией через двух провайдеров, ivan1970, 23:05 , 12-Мрт-11 (13)
хорошо, будем смотреть tcpdump результат тот же если ip rule add from 10.1.0.40 table prov2 то все красиво 21:53:35.242338 IP 10.10.10.40.dellwebadmin-1 > 77.88.21.3.http: Flags [S], seq 852141427, win 65535, options [mss 1460,nop,nop,sackOK], length 0 21:53:35.281676 IP 77.88.21.3.http > 10.10.10.40.dellwebadmin-1: Flags [S.], seq 3017276995, ack 852141428, win 65535, options [mss 1410,sackOK,eol], length 0 21:53:35.281874 IP 10.10.10.40.dellwebadmin-1 > 77.88.21.3.http: Flags [.], ack 1, win 65535, length 0 21:53:35.283828 IP 10.10.10.40.dellwebadmin-1 > 77.88.21.3.http: Flags [P.], seq 1:492, ack 1, win 65535, length 491 21:53:35.337776 IP 77.88.21.3.http > 10.10.10.40.dellwebadmin-1: Flags [P.], seq 1:580, ack 492, win 65535, length 579 21:53:35.337846 IP 77.88.21.3.http > 10.10.10.40.dellwebadmin-1: Flags [F.], seq 580, ack 492, win 65535, length 0 21:53:35.338074 IP 10.10.10.40.dellwebadmin-1 > 77.88.21.3.http: Flags [.], ack 581, win 64956, length 0 21:53:35.355941 IP 10.10.10.40.dellwebadmin-2 > 213.180.204.51.http: Flags [S], seq 3919369449, win 65535, options [mss 1460,nop,nop,sackOK], length 0 21:53:35.396142 IP 213.180.204.51.http > 10.10.10.40.dellwebadmin-2: Flags [S.], seq 523702790, ack 3919369450, win 5640, options [mss 1410,nop,nop,sackOK], length 0 а если ip rule add fwmark 12 table prov2 22:02:22.726518 IP 10.10.10.40.novation > 77.88.21.3.http: Flags [S], seq 2020215312, win 65535, options [mss 1460,nop,nop,sackOK], length 0 22:02:25.717961 IP 10.10.10.40.novation > 77.88.21.3.http: Flags [S], seq 2020215312, win 65535, options [mss 1460,nop,nop,sackOK], length 0 22:02:31.637315 IP 10.10.10.40.novation > 77.88.21.3.http: Flags [S], seq 2020215312, win 65535, options [mss 1460,nop,nop,sackOK], length 0
- проблема с маршрутизацией через двух провайдеров, PavelR, 22:14 , 12-Мрт-11 (9)
Может быть оно при обратном преобразовании проверяет наличие MARK (для точного сопоставления "потоков")?Извращенно, конечно, но... Можно проверить так: выставить марк для ответных пакетов: iptables -t mangle -I PREROUTING -s YA.ND.EX.IP -j MARK --set-mark=0xC + чтобы промаркированные ответные пакеты не ушли обратно к провайдеру: ip ro add table prov2 10.10.10.0/24 dev vlan10
- проблема с маршрутизацией через двух провайдеров, PavelR, 22:21 , 12-Мрт-11 (10)
> Может быть оно при обратном преобразовании проверяет наличие MARK (для точного сопоставления > "потоков")?если обратное нат-преобразование не производится, поскольку не совпадают маркеры, то входящий пакет будет считаться локальным, пришедшим на эту машину. можно попробовать половить его в INPUT.
- проблема с маршрутизацией через двух провайдеров, PavelR, 22:26 , 12-Мрт-11 (11)
>> Может быть оно при обратном преобразовании проверяет наличие MARK (для точного сопоставления >> "потоков")? > если обратное нат-преобразование не производится, поскольку не совпадают маркеры, то входящий > пакет будет считаться локальным, пришедшим на эту машину. > можно попробовать половить его в INPUT.ХЗ. Добавил маркировку пакетов в mangle/PREROUTING. Маршрутизация на маркировке не основывается. Обратные пакеты вернулись "как надо". OS: Debian.
- проблема с маршрутизацией через двух провайдеров, PavelR, 22:32 , 12-Мрт-11 (12)
>> А ничего, что во втором случае они тоже приходят: >> Mar 12 16:08:41 fedora kernel: [ 2392.551352] pre_from_yandex IN=vlan256 OUT= MAC=00:21:91:01:7a:14:00:15:17:f8:50:b2:08:00 >> SRC=77.88.21.3 DST=192.168.42.251 LEN=40 TOS=0x00 PREC=0x00 TTL=57 ID=50487 DF PROTO=TCP >> SPT=80 DPT=4121 WINDOW=65534 RES=0x00 ACK URGP=0 > так и я о том же! Ответы от яндекса приходят, только роутер > их в локалку не передает :-( > и в таблице FORWARD их нет А что скажет "sysctl -a |grep rp_f" ?
- проблема с маршрутизацией через двух провайдеров, ivan1970, 23:09 , 12-Мрт-11 (14)
sysctl -a |grep rp_f net.ipv4.conf.all.rp_filter = 0 net.ipv4.conf.all.arp_filter = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.arp_filter = 0 net.ipv4.conf.lo.rp_filter = 1 net.ipv4.conf.lo.arp_filter = 0 net.ipv4.conf.eth0.rp_filter = 1 net.ipv4.conf.eth0.arp_filter = 0 net.ipv4.conf.vlan10.rp_filter = 1 net.ipv4.conf.vlan10.arp_filter = 0 net.ipv4.conf.vlan256.rp_filter = 1 net.ipv4.conf.vlan256.arp_filter = 0
- проблема с маршрутизацией через двух провайдеров, PavelR, 23:17 , 12-Мрт-11 (15)
>[оверквотинг удален] > net.ipv4.conf.default.rp_filter = 1 > net.ipv4.conf.default.arp_filter = 0 > net.ipv4.conf.lo.rp_filter = 1 > net.ipv4.conf.lo.arp_filter = 0 > net.ipv4.conf.eth0.rp_filter = 1 > net.ipv4.conf.eth0.arp_filter = 0 > net.ipv4.conf.vlan10.rp_filter = 1 > net.ipv4.conf.vlan10.arp_filter = 0 > net.ipv4.conf.vlan256.rp_filter = 1 > net.ipv4.conf.vlan256.arp_filter = 0 http://www.linuxforums.org/forum/security/155418-2-6-31-ipta... Нужны нули.
- проблема с маршрутизацией через двух провайдеров, ivan1970, 23:22 , 12-Мрт-11 (17)
- проблема с маршрутизацией через двух провайдеров, PavelR, 23:30 , 12-Мрт-11 (18)
>> http://www.linuxforums.org/forum/security/155418-2-6-31-ipta... >> Нужны нули. > Можно чуть подробнее?чуть подробнее - по ссылке. там как раз про новое ядро и изменение дефолтных параметров. Рассказывать, что такое rp_filter ? // расшифровка - route-path-filter. проверяется обратный путь пакета соединения, что ответ пришел оттуда, куда запрос отправляли, а не с "левого" интерфейса. Пришел пакет YA-> HOST. производится встречная маршрутизация HOST->YA. в обычных ситуациях обратная маршрутизация даст тот же самый интерфейс, через который пакет пришел, а тут, поскольку маркера на соединении нет, маршрут получается в eth0. он не совпадает с vlanXXX через который пакет пришел, вот и происходит тихий дроп.
- проблема с маршрутизацией через двух провайдеров, PavelR, 23:33 , 12-Мрт-11 (20)
>[оверквотинг удален] >> net.ipv4.conf.lo.rp_filter = 1 >> net.ipv4.conf.lo.arp_filter = 0 >> net.ipv4.conf.eth0.rp_filter = 1 >> net.ipv4.conf.eth0.arp_filter = 0 >> net.ipv4.conf.vlan10.rp_filter = 1 >> net.ipv4.conf.vlan10.arp_filter = 0 >> net.ipv4.conf.vlan256.rp_filter = 1 >> net.ipv4.conf.vlan256.arp_filter = 0 > http://www.linuxforums.org/forum/security/155418-2-6-31-ipta... > Нужны нули.А еще, должно помочь следующее: ip ru add from $PROV2_IP lookup prov2
- проблема с маршрутизацией через двух провайдеров, PavelR, 23:35 , 12-Мрт-11 (21)
>[оверквотинг удален] >>> net.ipv4.conf.eth0.rp_filter = 1 >>> net.ipv4.conf.eth0.arp_filter = 0 >>> net.ipv4.conf.vlan10.rp_filter = 1 >>> net.ipv4.conf.vlan10.arp_filter = 0 >>> net.ipv4.conf.vlan256.rp_filter = 1 >>> net.ipv4.conf.vlan256.arp_filter = 0 >> http://www.linuxforums.org/forum/security/155418-2-6-31-ipta... >> Нужны нули. > А еще, должно помочь следующее: > ip ru add from $PROV2_IP lookup prov2 rp_filter можно не отключать. При добавлении такого правила встречная маршрутизация (при проверке) даст тот же самый vlanXXX и всё будет хорошо. Попробуйте.
- проблема с маршрутизацией через двух провайдеров, PavelR, 23:40 , 12-Мрт-11 (23)
>[оверквотинг удален] >>>> net.ipv4.conf.vlan256.arp_filter = 0 >>> http://www.linuxforums.org/forum/security/155418-2-6-31-ipta... >>> Нужны нули. >> А еще, должно помочь следующее: >> ip ru add from $PROV2_IP lookup prov2 > rp_filter можно не отключать. При добавлении такого правила встречная маршрутизация (при > проверке) даст тот же самый vlanXXX и всё будет хорошо. Попробуйте. >а еще непонятно, почему при >ip rule add from 10.10.10.40 table prov2 >работало?В таком случае - в проверке используются уже обратно оттранслированные адреса. и добавление "ip ru add from $PROV2_IP lookup prov2" не поможет.
- проблема с маршрутизацией через двух провайдеров, ivan1970, 23:18 , 12-Мрт-11 (16)
Я же писал, на другом роутере все эти настройки отлично работают. Я уже начинаю думать, что в новом ядре какие-то изменения в этом плане... а самый прикол при попытке посмотреть трассу на яндекс: первый ответ получаю от своего роутера, второй ответ от следующего (!) роутера 192.168.42.249 (т.е. мой возвращает этот ответ на хост 10.10.10.40!!!), а начиная с 3-го ответа - глухо
- проблема с маршрутизацией через двух провайдеров, ivan1970, 23:33 , 12-Мрт-11 (19)
помогло echo 0 > /proc/sys/net/ipv4/conf/vlan256/rp_filter только что это значит? Спасибо!
- проблема с маршрутизацией через двух провайдеров, ivan1970, 23:36 , 12-Мрт-11 (22)
а еще непонятно, почему при ip rule add from 10.10.10.40 table prov2 работало?
- проблема с маршрутизацией через двух провайдеров, PavelR, 23:45 , 12-Мрт-11 (24)
> а еще непонятно, почему при > ip rule add from 10.10.10.40 table prov2 > работало?Значит в таком случае - в проверке используются уже обратно оттранслированные адреса. Что собственно и верно, сначала mangle, потом обратный NAT, __потом раутинг__, потом цепочки форвард и фильтрация, mangle/POSTROUTING, nat/POSTROUTING.
|