iptables mark по входящему интерфейсу

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
mandreika
Сообщения: 217
ОС: Debian 3,4,5,6

iptables mark по входящему интерфейсу

Сообщение mandreika »

Есть VPN сервер с десятком туннелей tun0 .... tun10

Клиент идет с сети [192.168.X.0/24] на [ip: 192.168.Y.1] с туннелей [tun1...tun10] в [tun0]

Необходимо сделать следующее:
Клиент который пришел с tun7 должен в tun7 и уйти

Менять Ip клиента не допустимо

P.S. Чую что надо save-mark /restore-mark пользовать - но инфы нормальной найти не могу.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: iptables mark по входящему интерфейсу

Сообщение IMB »

А что Вас навело на мысль, что пакеты выходят через другой интерфейс? На основе чего построен VPN?
Спасибо сказали:
Аватара пользователя
mandreika
Сообщения: 217
ОС: Debian 3,4,5,6

Re: iptables mark по входящему интерфейсу

Сообщение mandreika »

На базе Openvpn
Вся соль в том что пакет с адресом 192.168.77.77 может поступить на сервер с любого tun интерфейса (кроме tun0), соответственно и ответ надо отправить именно в тот же интерфейс.
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: iptables mark по входящему интерфейсу

Сообщение Alex2ndr »

mandreika писал(а):
16.02.2010 14:03
На базе Openvpn
Вся соль в том что пакет с адресом 192.168.77.77 может поступить на сервер с любого tun интерфейса (кроме tun0), соответственно и ответ надо отправить именно в тот же интерфейс.

Ээээ.... Это как так? петли в маршрутизации???
Спасибо сказали:
Аватара пользователя
mandreika
Сообщения: 217
ОС: Debian 3,4,5,6

Re: iptables mark по входящему интерфейсу

Сообщение mandreika »

Есть клиент (виндовый) который подключен к linux, который может далее отправить пакеты клиента через Openvpn, ipsec циски и.тд.
На сервер его пакет может поступить с пяток различных интерфейсов. Вернуть его надо туда откуда пришел, так как неизвестно какой канал работает в данный момент.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: iptables mark по входящему интерфейсу

Сообщение IMB »

Что-то у Вас не сходится. Если клиент Windows конектится к OpenVPN, то он получает адреса с маской 30. В этом случае его пакет ну никак не может придти с другого интерфейса.
Более того, насколько я помню, для каждого коннекта создается свой tun-интерфейс со своей подсетью.
Вы бы показали таблицу маршрутизации на сервере, описали бы структуру сети и подробно задачу.
Спасибо сказали:
ALexhha
Сообщения: 109

Re: iptables mark по входящему интерфейсу

Сообщение ALexhha »

Более того, насколько я помню, для каждого коннекта создается свой tun-интерфейс со своей подсетью.

виртуальный интерфейс, через ifconfig ты его не увидишь
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: iptables mark по входящему интерфейсу

Сообщение pelmen »

Может быть я чего-то не понимаю, но когда я подключаюсь к linux-openvpn, то на стороне сервера поднимается виртуальный интерфейс с ip-адресом, находящимся в одной подсети с тем, который назначился мне. После чего в таблицу маашрутизации local добавляется запись, согласно которой обмен пакетами с моим адресом идет именно через нужный виртуальный интерфейс. (не проверял, но почему-то уверен на 100%). Соответственно мнение: либо у вас проблема, которую вы по неопытности приняли за описанную мной и исправляете не то что нужно, либо вы ну ооочень плохо изъясняетесь.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: iptables mark по входящему интерфейсу

Сообщение IMB »

ALexhha писал(а):
16.02.2010 19:31
виртуальный интерфейс, через ifconfig ты его не увидишь

user@localhost

$sudo ifconfig | grep tun tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 $ sudo ifconfig .............................................. tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:192.168.2.5 P-t-P:192.168.2.6 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Ну и никто не мешает воспользоваться более современым методом:

user@localhost

$ ip a | grep tun 4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100 inet 192.168.2.5 peer 192.168.2.6/32 scope global tun0
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: iptables mark по входящему интерфейсу

Сообщение pelmen »

Для подтверждения моих слов, покажите пожалуйста еще ip ro ls table local (если я прав насчет local, хотя может и main)
Спасибо сказали:
Аватара пользователя
mandreika
Сообщения: 217
ОС: Debian 3,4,5,6

Re: iptables mark по входящему интерфейсу

Сообщение mandreika »

Вот вы развели демагогию.Знаю я это всё.
Мне только нужен ответ на вопрос:
Если пакеты идут с нескольких интерфейсов ppp tun eth неважно, как вернуть пакеты именно в тот же интерфейс.
Для роутинга использую маркировку пакетов.
Пакет приходящие с первого интерфеса маркирую 1, второго 2 и т.д.
Нужно пометить все пакеты в пределах соединения, что бы ответные пакеты тоже метились 1,2,3 соответсвенно и отправлялись по интерфесам.

Пробовал в Iptables save-mark /restore-mark но принципа не понял.
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: iptables mark по входящему интерфейсу

Сообщение pelmen »

Пробовал 2 раза читать ваше сообщение но ничего не понял. Зачем это все?
Спасибо сказали:
Аватара пользователя
mandreika
Сообщения: 217
ОС: Debian 3,4,5,6

Re: iptables mark по входящему интерфейсу

Сообщение mandreika »

Изображение
Спасибо сказали: