LINUX.ORG.RU
ФорумAdmin

Маршрутизация трафика Debian

 


0

1

Есть gre туннель между двумя серверами на Debian 9.
Адрес 1 сервера 10.0.0.1
Адрес 2 сервера 10.0.0.2
На первом сервере есть несколько белых ип адресов, когда трафик приходит на определённый белый ип (22.22.22.22) он должен уходить через туннель на 2 сервер (10.0.0.2).
Ответ со второго сервера (10.0.0.2) должен уходить обратно через 1 сервер локальный ип (10.0.0.1) белый адрес 22.22.22.22 клиенту.
net.ipv4.ip_forward=1 Включен
Вариант через nat не подходит, надо что бы через туннель приходил реальный ип адрес клиента который обращается на 22.22.22.22.
Подскажите пожалуйста реализацию.


Вариант через nat не подходит, надо что бы через туннель приходил реальный ип адрес клиента который обращается на 22.22.22.22.

Почему не подходит? dnat меняет только адрес назначения. Далее если у сервер2 defgw свой, то при получении пакета через тунель маркируем соединение, потом при ответе восстанавливаем марк и используя iproute2 ip rule отправляем обратно в тунель.

anc ★★★★★ ()
Последнее исправление: anc (всего исправлений: 2)
Ответ на: комментарий от gOnt

То что я описал вполне рабочее. Но тут подумал что я усложняю в части маркировки.
1. сервер1 входящий на ip 22.22.22.22 dnat на 10.0.0.2
2. сервер2 все что от ip 10.0.0.2 оправляем iproute2 в туннель

anc ★★★★★ ()

На первом сервере есть несколько белых ип адресов, когда трафик приходит на определённый белый ип (22.22.22.22) он должен уходить через туннель

Если адрес 22.22.22.22 первому серверу не нужен, то поднимите туннель так, чтобы адрес 22.22.22.22 выдавался второму серверу с proxy-arp. Тогда никакой nat и iproute2 не будет нужен, а всё будет работать само.

vodz ★★★★★ ()
Ответ на: комментарий от gOnt

адрес 22.22.22.22 первому серверу предназначен исключительно что бы через него передавать трафик на сервер 2

Ну то есть ответ положительный и так как я сказал работать будет.

vodz ★★★★★ ()
Ответ на: комментарий от anc

iptables (8) man
Существует 4 вида таблиц:
filter (default)
nat
mangle
raw
iptables nat обрабатывает раньше чем filter
Если будут правила для dst ip 22.22.22.22 в таблице filter но в nat таблице dst ip поменяю на 10.0.0.2 то правила в таблице filter для ip 22.22.22.22 не обработаются.

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

iptables nat обрабатывает раньше чем filter

И раньше и позже. Внимательно курим документацию.
Но вы видимо хотели сказать только про цепочку prerouting. Так вот теперь, зачем вам правила 22.22.22.22 в filter если вы сами знаете что поменяли на 10.0.0.2 ? Второе, фильтровать никто не запрещает и в цепочках выше например в prerouting.
Так что виноват не iptables, а исключительно ваши «ручки» и «голова».

anc ★★★★★ ()