LINUX.ORG.RU

Сообщения tarvxf

 

Один сервер, несколько ipv4

Форум — Admin

Привет, лор!

Есть машина, подключенная к сети через один физический интерфейс (eno1). Под эту машину выделено несколько белых IP-адресов. Как раскидать эти несколько адресов по виртуальным интерфейсам так, чтобы и сервер по каждому из белых адресов отвечал, и с самого сервера можно было выходить в сеть с разных IP-адресов, используя эти самые виртуальные интерфейсы?

Что было испробовано: создание dummy-интерфейсов через systemd-networkd, назначение им одного из неиспользуемых белых адресов, с указанием шлюза (такого же, как и у физического интерфейса eno1): в таком случае извне машина доступна и пингуется по всем назначенным ей адресам (как тому, что висит на физическом интерфейсе, так и тем, что на виртуальных), однако с самого сервера нельзя, к примеру, ничего попинговать с виртуального интерфейса: ping -I virt0 на адрес шлюза или любого хоста в интернете выдаст destination host unreachable:

root@srv:~# ping -I virt0 203.0.113.1
PING 203.0.113.1 (203.0.113.1) from 203.0.113.20 virt0: 56(84) bytes of data.
From 203.0.113.20 icmp_seq=1 Destination Host Unreachable

Интуиция и гуглёж мне подсказывают, что здесь пригодится policy based routing, однако попытка создать новую таблицу маршрутизации не помогла (или я чего не так делаю):

# echo 101 virt0-route >> /etc/iproute2/rt_tables
# ip route add default via 203.0.113.1 dev virt0 table virt0-route
# ip rule add from 203.0.113.20 lookup virt0-route

Вывод ip r:

default via 203.0.113.1 dev eno1 onlink 
default via 203.0.113.1 dev virt0 proto static 
203.0.113.0/24 dev eno1 proto kernel scope link src 203.0.113.11 
203.0.113.0/24 dev virt0 proto kernel scope link src 203.0.113.20

И route -n:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         203.0.113.1     0.0.0.0         UG    0      0        0 eno1
0.0.0.0         203.0.113.1     0.0.0.0         UG    0      0        0 virt0
203.0.113.0     0.0.0.0         255.255.255.0   U     0      0        0 eno1
203.0.113.0     0.0.0.0         255.255.255.0   U     0      0        0 virt0

 , , ,

tarvxf
()

RSS подписка на новые темы