Рейтинг:0

Многопутевая маршрутизация на Centos при добавлении второго маршрута ломает первый

флаг de

У меня есть коробка Centos с двумя интерфейсами, у которых есть маршруты в Интернет. Один 192.168.1.254, другой 192.168.133.11. Я могу маршрутизировать через 133.11 совершенно нормально, когда это единственный указанный маршрут. Когда я добавляю другой маршрут в таблицу, первый перестает работать.

[root@sinister2 yum.repos.d]# IP-маршрут
по умолчанию через 192.168.133.11 dev ens2u3
192.168.1.0/24 dev eno1 ссылка на область ядра proto src 192.168.1.70 метрика 100
192.168.133.0/24 dev ens2u3 ссылка на область действия ядра proto src 192.168.133.108
[root@sinister2 yum.repos.d]# curl ifconfig.me
92.40.187.117
[root@sinister2 yum.repos.d]# маршрут по умолчанию
[root@sinister2 yum.repos.d]# ip route add default scope global nexthop via 192.168.133.11 dev ens2u3 weight 1 nexthop via 192.168.1.254 dev eno1 weight 1
[root@sinister2 yum.repos.d]# curl ifconfig.me
86.133.6.21
[root@sinister2 yum.repos.d]# IP-маршрут
По умолчанию
        следующий переход через 192.168.133.11 dev ens2u3 вес 1
        nexthop через 192.168.1.254 dev eno1 вес 1
192.168.1.0/24 dev eno1 ссылка на область ядра proto src 192.168.1.70 метрика 100
192.168.133.0/24 dev ens2u3 ссылка на область действия ядра proto src 192.168.133.108
[root@sinister2 yum.repos.d]# curl https://developer.download.nvidia.com/
curl: (7) Не удалось подключиться к порту 443 developer.download.nvidia.com: время ожидания подключения истекло.
[root@sinister2 yum.repos.d]# traceroute developer.download.nvidia.com
traceroute к developer.download.nvidia.com (152.199.20.126), макс. 30 переходов, пакеты по 60 байт
 1 * * *
...вручную обрезал все звезды...
30 * * *
[root@sinister2 yum.repos.d]# маршрут по умолчанию
[root@sinister2 yum.repos.d]# маршрут добавить по умолчанию gw 192.168.133.11
[root@sinister2 yum.repos.d]# traceroute developer.download.nvidia.com
traceroute к developer.download.nvidia.com (152.199.20.126), макс. 30 переходов, пакеты по 60 байт
 1 _шлюз (192.168.133.11) 2,525 мс 2,667 мс 2,942 мс
 2 * * *
 3 172.25.83.33 (172.25.83.33) 301.910 мс 307.052 мс 306.962 мс
 4 * * *
 5 * * *
 6 172.25.88.89 (172.25.88.89) 305.709 мс * 172.25.88.93 (172.25.88.93) 292.299 мс
 7 * * *
 8 172.25.67.146 (172.25.67.146) 48.475 мс 172.25.67.158 (172.25.67.158) 53.182 мс 172.25.67.146 (172.25.67.146) 53.096 мс
 9 * * *
10 185.153.238.161 (185.153.238.161) 46,396 мс 57,785 мс 57,785 мс
11 ae-65.core1.lhc.edgecastcdn.net (152.195.96.139) 29,347 мс 39,733 мс 51,525 мс
12 152.199.20.126 (152.199.20.126) 39,295 мс 39,182 мс 39,041 мс
13 152.199.20.126 (152.199.20.126) 39,250 мс 39,251 мс 39,015 мс

Этот сайт nvidia маршрутизируется через ens2u3, я вижу трафик на интерфейсе:

tcpdump -я ens2u3
16:26:37.528360 ARP, Запросить у кого есть 192.168.133.11 сказать sinister2, длина 28
16:26:37.530385 ARP, Ответ 192.168.133.11 is-at 76:e6:8d:8e:99:a8 (oui Неизвестно), длина 28
16:26:39.256368 IP sinister2.42630 > 152.199.20.126.https: Flags [S], seq 1095059191, win 29200, параметры [mss 1460,sackOK,TS val 1024650559 ecr 0,nop,wscale 7], длина 0
16:26:47.768368 IP sinister2.42630 > 152.199.20.126.https: Flags [S], seq 1095059191, win 29200, параметры [mss 1460,sackOK,TS val 1024659071 ecr 0,nop,wscale 7], длина 0
и т.д...

Ни один из моих синхов никогда не получал акка. Раньше, когда я все роутил через ens2u3, получалось:

16:23:18.233472 IP sinister2.55236 > 152.199.20.126.https: флаги [S], seq 1471928043, win 29200, параметры [mss 1460,sackOK,TS val 466587424 ecr 0,nop,wscale 7], длина 0
16:23:18.276348 IP 152.199.20.126.https > sinister2.55236: Флаги [S.], seq 2554681057, ack 1471928044, win 14600, параметры [mss 1220,nop,wscale 12,sackOK,TS val 371740 34954 8] , длина 0
16:23:18.276428 IP sinister2.55236 > 152.199.20.126.https: Flags [.], ack 1, win 229, options [nop,nop,TS val 466587467 ecr 3717403495], длина 0

Traceroute просто показывает звезды для любого адреса через ens2u3 и подключения к чему-либо через eno1.

У кого-нибудь есть хорошие идеи? Найди что-нибудь, что я сделал не так?

Нужно ли делать какую-то очистку существующих маршрутов при их изменении? В первом примере я могу добраться до ifconfig.me по новому маршруту, но не использовать старый маршрут до nvidia, что заставляет меня думать, что это не так просто...

флаг vn
https://access.redhat.com/solutions/53031 — используйте rp_filter, если вы хорошо разбираетесь в асимметричной маршрутизации или используете маршруты на основе политик.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.