Как изменить таблицы маршрутов в экземпляре EC2 для отправки трафика через eth1?

У меня есть экземпляр ec2 AmazonLinux2. У него есть основной сетевой адаптер на eth0. Я пошел дальше и подключил еще один eni (с соответствующим общедоступным IP-адресом) eth1. Я хотел бы убедиться, что я также могу отправлять трафик через eth1, но не могу.

curl --interface eth0 ifconfig.me --> Works, returns the public ip of the instance
curl --interface eth1 ifconfig.me --> Does not work, the call just hangs

Вот мои интерфейсы

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 02:82:39:f5:b2:61 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.156/23 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 2293sec preferred_lft 2293sec
    inet6 fe80::82:39ff:fef5:b261/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 02:85:86:84:a8:1b brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.8/23 brd 192.168.1.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::85:86ff:fe84:a81b/64 scope link
       valid_lft forever preferred_lft forever

Таблица маршрутов

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
169.254.169.254 0.0.0.0         255.255.255.255 UH    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.254.0   U     0      0        0 eth0

Вот мои шаги, которые я предпринял для добавления статического маршрута

  1. echo 2 mytable >> /etc/iproute2/rt_tables
  2. sudo ip route add default via 192.168 .0.1 dev eth1 table mytable
  3. sudo ip rule add from 192.168.0.8 lookup mytable prio 1000
  4. ip route flush table cache

Я видел здесь различные сообщения, в которых освещаются разные способы сделать то же самое, я пробовал их зря.Может ли кто-нибудь помочь мне с тем, что здесь происходит

Эти шаги взяты из сообщения http://www.rjsystems.nl/en/2100-adv-routing.php.

Спасибо Кей

0
задан 13 October 2021 в 14:35
2 ответа

Следующие шаги сработали для меня.

ip route add <CIDR Range of Subnet> dev eth1 table 2
ip rule add from <IP of eth1> table 2
ip route add default via <Gateway of subnet> dev eth1 table 2
ip route flush cache

Надежда, помогающая кому-то

0
ответ дан 25 October 2021 в 17:32

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

Эта конфигурация перенаправляет все запросы в пункт назначения для всех IP-адресов от 192.168.0.1 до 192.168.1.255 через eth0.:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.254.0   U     0      0        0 eth0

Даже при добавлении ваших правил для eth1, поскольку он определен для той же подсети, ваши правила будут игнорироваться.

У вас должно быть два правила с двумя разными подсетями, что-то вроде этого:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     192.168.0.1     255.255.255.0   U     0      0        0 eth0
192.168.0.0     X.X.X.X         255.255.255.0   U     0      0        0 eth1

Попробуйте сменить маску:)

0
ответ дан 13 October 2021 в 15:33

Теги

Похожие вопросы