LINUX.ORG.RU
ФорумAdmin

iptables + -d ! ip_adres's


0

0

В общем есть правило

/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE -s 10.0.0.112 -d ! 81.222.178.8 -o vlan55

которое значит натить на все кроме ип адреса 81.222.178.8, в общем то мне и надо ТОЛЬКО надо не один такой адрес а пачка (ип будет из разных подсетей). Кто знает как сделать ?


Попробуй patch-o-matic там есть возможность указывать ip через запятую.

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

а если без него ? неужто нельзя ?

PUZO
() автор топика

iptables -t nat -A POSTROUTING -s 10.0.0.112 -d 81.222.178.8 -o vlan55 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.0.112 -d x.x.x.x -o vlan55 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.0.112 -d y.y.y.y -o vlan55 -j ACCEPT
...
iptables -t nat -A POSTROUTING -s 10.0.0.112 -o vlan55 -j MASQUERADE

Это для случая, если пакеты должны выходить, но без masquerade. Если же на указанные IP пакеты вобще не должны выходить - запретить их в FORWARD, OUTPUT цепочках таблицы filter (чтоб до nat POSTROUTING даже не доходили).

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

так и я могу, но мне надо одним правилом. просто у меня на машине 1000 пользователей и делать для каждого из них 6-10 правил это задница

PUZO
() автор топика
Ответ на: комментарий от spirit

да и натить надо куда угодно кроме тех адресов. а надо это для того что бы работал простой форвард, тоесть что бы на www сервере были их ип адреса а не адрес vlan55

PUZO
() автор топика
Ответ на: комментарий от saper

Я же вроде правильно выразился >>> надо не один такой адрес а пачка (ип будет из разных подсетей) >>> и мне надо все одним правилом, и оматик не помог.

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

1. Пакеты на not_NAT (81.222.178.8, ...) адреса маркируешь на входе.
   Ну будет у тебя N правил, где N="кол-во not_NAT"

2. На выходе 
   iptables -t nat -A POSTROUTING -s yyy -m mark --mark ! XXX -j MASQUERADE ...

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

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

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

-t nat PREROUTING -- первый


-t nat POSTROUTING -- последний

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

Используй маску, если не можешь сформулировать по какому принципу у тебя раздаются IP, то решить твою проблему одним правилом не получится.

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

я сделал интересней, дал всем нат, на запретил форвард по дефолту и в общем в динамике теперь только добавка в правило форварда. Спасибо всем кто пытался помочь.

PUZO
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.