The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Перенаправление всего траффика на порт 161 через второй шлюз"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"Перенаправление всего траффика на порт 161 через второй шлюз"  +/
Сообщение от POMATuemail (ok), 17-Апр-19, 21:06 
Здравствуте,

Я пытаюсь настроить перенаправление всех коннектов на порт 161 через второй шлюз в то время как остальные коннекты должны идти на прямую.

Схема:
[локалхост] -> [впншлюз] -> [сервер] - OK
[локалхост] <- [впншлюз] <- [сервер] - пакет исчезает после впн туннеля. То есть я могу ответный пакет проснифать на tun0 но дальше он просто исчезает

при этом -A INPUT -j ACCEPT стоит. В итоге приложение не видит ответный пакет и переотправляет его пока ему это не надоедает. С TCP пакетами происходит аналогичное, TCP-retransmission ловлю на шлюзе

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

что я делал что бы настроить это шаманство
создал новую таблицу в rt_tables 201 gw1

далее правила
ip route add default via 10.8.0.1 dev tun0 table gw1
ip rule add fwmark 0x1 table gw1
iptables -A OUTPUT -t mangle -o eth0 -p tcp --dport 443 -j MARK --set-mark 1
iptables -A POSTROUTING -t nat -o tun0 -p tcp --dport 443 -j SNAT --to 10.8.0.2
iptables -A OUTPUT -t mangle -o eth0 -p udp --dport 161 -j MARK --set-mark 1
iptables -A POSTROUTING -t nat -o tun0 -p udp --dport 161 -j SNAT --to 10.8.0.2

Ну вот и все собственно, и происходит указанная ситуация.

Пытался менять SNAT на маскарад на локалхосте - ничего не меняется все тоже самое.
DNAT еще ковырял но чето я не так делаю видимо

Может там какое-то очередная "фича" в sysctl.conf которую надо отключить или включить? Вечно это г*вно всю картину маршрутизации портит (извиняюсь, накипело уже)
Ах да система centos 7, но это не так важно я думаю

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Перенаправление всего траффика на порт 161 через второй шлюз"  +/
Сообщение от ACCA (ok), 17-Апр-19, 22:11 
Похоже на косяк в маршрутах. Особенно если балуешься с NAT.

Позови ребёнка (или ещё какого джуниора) и расскажи ему в лицах, что происходит с пакетом на каждом шаге. Сам разберёшься.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Перенаправление всего траффика на порт 161 через второй шлюз"  +/
Сообщение от POMATuemail (ok), 17-Апр-19, 22:30 
> Похоже на косяк в маршрутах. Особенно если балуешься с NAT.
> Позови ребёнка (или ещё какого джуниора) и расскажи ему в лицах, что
> происходит с пакетом на каждом шаге. Сам разберёшься.

Я фрилансер) кота бы позвал, да и его нет)

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

for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done
echo 1 > /proc/sys/net/ipv4/route/flush

все работает теперь, и правила правильные у меня
напридумывают дерьма какого-то потом разбирайся. Каждый раз об этот сраный sysctl.conf натыкаюсь, там новые опции появляются быстрее чем я живу.

притом надо снять защиту от спуфинга на каждом интерфейсе именно! опция all не работает разумеется.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Перенаправление всего траффика на порт 161 через второй шлюз"  +/
Сообщение от михалыч (ok), 18-Апр-19, 05:39 
> Я фрилансер) кота бы позвал, да и его нет)

тогда соседку (без соседа!), надеюсь соседка есть?

ей будет крайне интересно послушать увлекательный рассказ
о маршрутизации ма-аленьких таких себе пакетиков )))

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру