У меня есть экземпляр на основе debian wheezy с двумя сетевыми интерфейсами (первичный, вторичный). Мой процесс настройки:
vim / и т.д. / сеть / интерфейсы
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet dhcp
ifup eth1 ifconfig -a
eth0 Link encap:Ethernet HWaddr 0a:1e:17:4a:dc:0a
inet addr:172.31.7.189 Bcast:172.31.15.255 Mask:255.255.240.0
inet6 addr: fe80::81e:17ff:fe4a:dc0a/64 Scope:Link
eth1 Link encap:Ethernet HWaddr 0a:74:e6:54:ba:c9
inet addr:172.31.10.172 Bcast:172.31.15.255 Mask:255.255.240.0
inet6 addr: fe80::874:e6ff:fe54:bac9/64 Scope:Link
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
Хорошо, здесь все в порядке, и оба частных IP-адреса (172.31.7.189, 172.31.10.172) доступны для ping.
echo "200 out" >> / etc / iproute2 / rt_tables
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
200 out
маршрут -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.31.0.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
172.31.0.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
172.31.0.0 0.0.0.0 255.255.240.0 U 0 0 0 eth1
ip route добавить значение по умолчанию через 172.31.0.1 dev eth1 table out
ip правило добавить из таблицы 172.31.0.0/20
Write failed: Broken pipe
Теперь экземпляр недоступен по ssh. Пожалуйста, помогите, что я делаю не так?
Мой рабочий процесс основан на учебнике https://www.lisenet.com/2014/create-and-attach-a-second-elastic-network-interface-with-eip-to-ec2-vpc-instance/comment-page-1/#comment-105
Задача решена.
Я пытался определить IP-правило для всей сети 172.31.0.0/20, это неправильно.
Когда я использую частный IP-адрес из вторичного сетевого интерфейса, все работает нормально.
ip route add default via 172.31.10.172 dev eth1 table out
ip rule add from 172.31.10.172 table out
где 172.31.10.172 - частный ip от сетевого интерфейса eth1
Вместо "ip rule add from 172.31.0.0/20 table out ..."
P.S. Большое спасибо Томашу Невару