LINUX.ORG.RU
ФорумAdmin

Исключени хоста из правил iptables


0

0

Есть настроенный VPN IPSEC. две подсети 10.0.0.0/8 и 192.168.2.0/24. Есть правила в Iptables в подсети 192.168.2.0/24:

iptables -t nat -I POSTROUTING -d 10.0.0.0/8 -j ACCEPT

iptables -I FORWARD -p all -d 10.0.0.0/8 -s 192.168.2.0/24 -j ACCEPT

iptables -I FORWARD -p all -s 10.0.0.0/8 -d 192.168.2.0/24 -j ACCEPT

вообщем работает полноценный vpn. :)

теперь из правил подсети 10.0.0.0/8 на стороне 192.168.2.0/24 нужно "выделить" один хост который не заворачивался бы vpn туннель, а шел бы по другому маршруту в другую подсеть т.е.:

ip route add 10.19.51.178 via 213.xxx.xx.22 src 213.xxx.xx.22,

где 213.xxx.xx.22 - внешний IP адрес в подсети 192.168.2.0/24 (NAT вообщем).

данное правило не работает.

есть идеи как это можно сделать?

Во-первых, правило
iptables -t nat -I POSTROUTING -d 10.0.0.0/8 -j ACCEPT
имхо бессмысленно.
Потому что у POSTROUTING и так дефолтная полиси ACCEPT
И вообще фильтровать вне таблицы filter - моветон.

Если это правило у тебя на шлюзе стоит - значит нету у тебя никакого ната.

А это вообще какое-то безумие:
ip route add 10.19.51.178 via 213.xxx.xx.22 src 213.xxx.xx.22
Какого хрена там src делает?

nnz ★★★★
()

Указание src-адреса в маршруте не делает NAT. Этот адрес используется только для локально создаваемых соединений для которых не указан src-адрес.

В вашем случае команда "ip route ..." странная, там не указан "dev". Но для того, чтобы проверить, что этот маршрут работает достаточно запустить tcpdump и посмотреть пакеты. Думаю, что маршут работает, пакеты уходят, но так как в iptables для этих пакетов нет записи "-j SNAT", то они уходят с src-адресом 10.19.51.178 и благополучно режутся провайдером.

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

1. без правила iptables -t nat -I POSTROUTING -d 10.0.0.0/8 -j ACCEPT ping из локальной сети 192.168.2.0/24 в 10.0.0.0/8 сеть не проходит. и подлючение к удаленным сервисам сети 10.0 не было. Правило стоит на шлюзе.

До этого использовалась прокся прозрачная. и этого правила не было. и работал только http траффик между 2 мя VPN IPSEC. и можно было спокойно исключать любые IP удаленной сети диапазона 10.0.0.0/8 на стороне 192.168.2.0/24 и заворачивать через iproute по любому маршруту. проксю удалил. вся сеть 192.168.2.0/24 теперь за NAT'ом сидит. и 2 подсети нормально работают теперь.

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

ACCEPT - это не операция ната, это операция фильтрации.
нат делается операциями MASQUERADE (при динамическом внешнем адресе) и SNAT --to-source внешний_адрес (при статическом внешнем адресе).

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