URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 5416
[ Назад ]

Исходное сообщение
"несколько исключений в правило iptables"

Отправлено gremlintv32 , 11-Фев-17 19:20 
как добавить сразу несколько исключений в правило iptables?
Допустим, есть правило:
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 ! -d 192.168.2.0/24 -o eth0 -j MASQUERADE
как в него добавить еще один диапазон(допустим 172.16.0.0/16) после -d?
Пишут что можно как-то через -j RETURN, но пока не нашел толкового примера

Содержание

Сообщения в этом обсуждении
"несколько исключений в правило iptables"
Отправлено PavelR , 11-Фев-17 20:41 
> Пишут что можно как-то через -j RETURN, но пока не нашел толкового
> примера

А что, без примеров уже совсем никак?


"несколько исключений в правило iptables"
Отправлено gremlintv32 , 11-Фев-17 21:00 
>> Пишут что можно как-то через -j RETURN, но пока не нашел толкового
>> примера
> А что, без примеров уже совсем никак?

Ну нубье я в iptables, что еще сказать в свое оправдание )))
Вам оно как 2 пакета переслать, а мне нужно еще посидет, поварить котелком для этого))


"несколько исключений в правило iptables"
Отправлено gremlintv32 , 11-Фев-17 22:47 
>> Пишут что можно как-то через -j RETURN, но пока не нашел толкового
>> примера
> А что, без примеров уже совсем никак?

Ну допустим я создал пользовательскую цепочку 'locals'
iptables -N locals
Допустим создал несколько return целей для этой цепочки
iptables -A locals -d 172.16.0.0/16 -j RETURN
iptables -A locals -d 192.168.0.0/16 -j RETURN
Как мне теперь "впихнуть" их:
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 ! -> ВОТ ТУТ -< -o eth0 -j MASQUERADE
?


"несколько исключений в правило iptables"
Отправлено gremlintv32 , 12-Фев-17 00:06 
>[оверквотинг удален]
>> А что, без примеров уже совсем никак?
> Ну допустим я создал пользовательскую цепочку 'locals'
> iptables -N locals
> Допустим создал несколько return целей для этой цепочки
> iptables -A locals -d 172.16.0.0/16 -j RETURN
> iptables -A locals -d 192.168.0.0/16 -j RETURN
> Как мне теперь "впихнуть" их:
> iptables -t nat -A POSTROUTING -s 10.0.0.0/24 ! -> ВОТ ТУТ -<
> -o eth0 -j MASQUERADE
> ?

Вот без примера действительно уж никак.
Незнаю сколько бы у меня ушло времени, чтобы понять эти "дебри".
И за это, отдельное спасибо товарищу с импортного форума.
Теперь все работает как я и хотел:
   #создаем цепочку в таблице nat с названием locals
   iptables -N locals -t nat
   # "направляем" все ip сети 10.0.0.0/24 цепочки POSTROUTING в цепочку locals
   iptables -A POSTROUTING -t nat -s 10.0.0.0/24 -j locals
   # прекращаем обработку в цепочке locals всего что ломаеться на адреса  диапазонов        172.16.0.0/16 и 192.168.0.0/16
   iptables -A locals -t nat -d 172.16.0.0/16 -j RETURN
   iptables -A locals -t nat -d 192.168.0.0/16 -j RETURN
   # и наконец маскарадинг "подходящих" запросов на 0.0.0.0/0
   iptables -A locals -t nat -o eth0 -j MASQUERADE
Вроде бы все правильно понял. А если нет - сильно не пинайте, только учусь :)


"несколько исключений в правило iptables"
Отправлено reader , 17-Фев-17 22:15 
в данном случае цепочки лишнее

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -d 172.16.0.0/16 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -d 192.168.0.0/16 -o eth0 -j ACCEPT
# NAT для всего остального что выходит от нас, что бы провайдер не ругался,
# но не забываем об INVALID
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE