LINUX.ORG.RU
решено ФорумAdmin

Маршрутизация трафика от демона через определенный интерфейс

 ,


0

2

У меня есть сервер с двумя интерфейсами: eth0 и dummy0, у обоих разные публичные IP-адреса.

Как направить весь трафик от конкретной программы (демона) через dummy0, используя iptables?

Мне нужно, чтобы весь трафик демона шёл только через второй публичный IP-адрес сервера.

Проще всего, наверное, запустить от пользователя и все пакеты от пользователя маркировать. А потом через рулесы разрулить.

turtle_bazon ★★★★★ ()

Можно попробовать с помощью Network Namespaces.

looper ()
Ответ на: комментарий от anonymous

Попробовал сделать так:

ip netns add net1
ip link add macvlan1 link eth0 type macvlan mode bridge
ip link set macvlan1 netns net1
ip netns exec net1 ip addr add 187.215.130.107/24 dev macvlan1
ip netns exec net1 ip link set macvlan1 up

Но соединения из под пространства имён net1 - отсутствует. Может в прошлом такой подход работал, но сейчас нет. Как только я переместил macvlan1 в пространство имён net1 всякий мост, между ним и eth0 оборвался. Из того что писали в 2018 году, я сделал вывод, что раньше это работало, и мост оставался. Что делать сейчас - не знаю, как сделать соединение между macvlan1 и eth0, неизвестно. Никакой информации по этому вопросу не нашёл.

Serg99 ()
Ответ на: комментарий от Serg99

Было невозможно трудно, и я бы никогда не справился. Но мне подсказал один специалист, как решить эту проблему.

ip netns add net1;\
ip link add macvlan1 link eth0 type macvlan mode bridge;\
ip link set macvlan1 netns net1;\
ip netns exec net1 ip address add 187.215.130.107 peer 192.0.2.1/32 dev macvlan1;\
ip netns exec net1 ip link set macvlan1 up; ip netns exec net1 ip link set lo up;\
ip netns exec net1 ip route add default via 192.0.2.1;\
ip netns exec net1 su -c "screen"

187.215.130.107 это мой второй публичный IP сервера. 192.0.2.1 это Gateway вне Network Namespace net1.

То есть, основной Gateway, который стоит на eth0

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

Serg99 ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей