The OpenNET Project / Index page

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

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

"Маршрутизация по меткам из iptables"  +/
Сообщение от 1 (??) on 28-Сен-11, 15:42 
Сделал маршрутизацию на 2 провайдера(метки расставляются в Iptables а затем по ip rule fwmark уходят на свою таблицу маршрутизации), ходит всё замечательно, но заметил одну странную вещь, а именно если убираю default маршруты из main (2 маршрута на gw провайдеров с разными metric) то новых соединений не происходит - не возможно подключиться, хотя уже подключенные вроде работают (впн не отвалился)
iptables (только относящееся к маршрутизации):
#routing
iptables -t mangle -N MARK_CONN
iptables -t mangle -A MARK_CONN -d 192.168.0.0/16 -j RETURN
iptables -t mangle -A MARK_CONN -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A MARK_CONN -m connmark ! --mark 0 -j RETURN
iptables -t mangle -A MARK_CONN -j CONNMARK --set-mark 1
iptables -t mangle -A MARK_CONN -m statistic --mode random --probability 0.28 -j RETURN
iptables -t mangle -A MARK_CONN -j CONNMARK --set-mark 2

iptables -t mangle -A PREROUTING -i eth1 -m state --state NEW,RELATED -j CONNMARK --set-mark 1
iptables -t mangle -A PREROUTING -i ppp0 -m state --state NEW,RELATED -j CONNMARK --set-mark 2
iptables -t mangle -A PREROUTING -m state --state NEW,RELATED -j MARK_CONN
iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark
iptables -t mangle -A OUTPUT -m state --state NEW,RELATED -j MARK_CONN
iptables -t mangle -A OUTPUT -j CONNMARK --restore-mark

ip rule:
0:      from all lookup local
10:     from all fwmark 0x1 lookup pnz
15:     from all fwmark 0x2 lookup domru
32766:  from all lookup main
32767:  from all lookup default

по идее попав в ту же таблицу pnz (где есть default gw) ему должно быть по барабану на default в main.

ip route list table pnz:
default via 82.209.x.1 dev eth1
82.209.x.1 dev eth1  scope link  src 82.209.x.x
127.0.0.0/8 dev lo  scope link
192.168.0.0/24 dev eth0  scope link

может я в чем то ошибаюсь, знающие люди, подскажите пож-та

з.ы. это всё так, для самообразования, просто оч интересно

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

Оглавление

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


1. "Маршрутизация по меткам из iptables"  +/
Сообщение от 1 (??) on 28-Сен-11, 19:51 
наверно ему нужен хоть какойто default gw в main для определения output интерфейса перед попаданием в -t mangle -a output, поставил его на 127.0.0.1 и снова всё заработало.
кстати netstat привязал все исходящие соединения к ip eth0 (видимо первого в системе интерфейса)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Маршрутизация по меткам из iptables"  +/
Сообщение от 1 (??) on 29-Сен-11, 09:12 
ещё одно замечание: в таком случае как у меня лучше поставить default gw на 127.0.0.1.
причина - один из провайдеров отключает от сети если не со своим ipшником в его сети сидишь и бывают случаи когда пакет с обратным адресом ppp0 лезет через eth1 (когда передаётся TCP-RST видимо тогда conntrack уже не отслеживает соединение и метка не ставится и пускает пакет через table main) тогда при каком то значении этих пакетов пров отрубает. с default gw dev lo эти пакеты будут просто гаситься я так понимаю. по крайней мере пакетов с чужим исход ip более не наблюдается ни на одном из внешних интерфейсов
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Маршрутизация по меткам из iptables"  +/
Сообщение от 1 (??) on 25-Авг-12, 14:10 
сколько времени прошло... сейчас другие скрипты...
исправляется это не гейтом на 127.0.0.1
ip rule from $IP_PNZ table pnz prio x
ip rule from $IP_DOMRU table domru prio x
и пакеты уходят куда надо.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Маршрутизация по меткам из iptables"  +/
Сообщение от 1 (??) on 25-Авг-12, 14:12 
> ip rule from $IP_DOMRU table domru prio x

вместо "prio x" "prio y" х и y приоритеты ну или вообще без этих частей


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

5. "Маршрутизация по меткам из iptables"  +/
Сообщение от Илья (??) on 28-Окт-16, 12:49 
> ещё одно замечание: в таком случае как у меня лучше поставить default
> gw на 127.0.0.1.
> причина - один из провайдеров отключает от сети если не со своим
> ipшником в его сети сидишь и бывают случаи когда пакет с
> обратным адресом ppp0 лезет через eth1 (когда передаётся TCP-RST видимо тогда
> conntrack уже не отслеживает соединение и метка не ставится и пускает
> пакет через table main) тогда при каком то значении этих пакетов
> пров отрубает. с default gw dev lo эти пакеты будут просто
> гаситься я так понимаю. по крайней мере пакетов с чужим исход
> ip более не наблюдается ни на одном из внешних интерфейсов

Тоже вариант. Я добавлял правило в iptables, запрещающее исходящим пакетам на внешних интерфейсах иметь ip внутренних сетей.

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

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

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




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

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