LINUX.ORG.RU
ФорумAdmin

Правила в iptables


0

1

Доброго времени суток! Есть шлюз на linux, и сеть которую он обслуживает. В интернет компьютеры ходят только на 3 определенных Ip адреса, т.е iptables -P FORWARD iptables -A FORWARD -s 10.100.0.0/24 -d xxx.xxx.xxx.xxx -j ACCEPT iptables -A FORWARD -d 10.100.0.0/24 -s xxx.xxx.xxx.xxx -j ACCEPT и так три раза. Когда мне нужно получить доступ в нет на конкретной машине я добавляю правило типа iptables -A FORWARD -s 10.100.0.x -j ACCEPT iptables -A FORWARD -d 10.100.0.x -j ACCEPT НО!!! После удаление из цепочки FORWARD этих строчек машина продолжает получать доступ в интернет!!! (-P FORWARD DROP!) Помогает только перезагрузка сервера... Кто знает почему iptables так себя ведет?

В цепочке FORWARD есть еще какие-нибудь правила?

Покажите вывод команды iptables-save. Используйте LORCODE чтобы отформатировать вывод.

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

# Generated by iptables-save v1.4.1.1 on Tue Sep 28 14:42:50 2010
*nat
:PREROUTING ACCEPT [44557:2596498]
:POSTROUTING ACCEPT [13729:936692]
:OUTPUT ACCEPT [13755:941013]
-A POSTROUTING -s 10.100.0.0/24 -j SNAT --to-source xxx.xxx.xxx.xxx
COMMIT
# Completed on Tue Sep 28 14:42:50 2010
# Generated by iptables-save v1.4.1.1 on Tue Sep 28 14:42:50 2010
*filter
:INPUT DROP [3977:404740]
:FORWARD ACCEPT [71379:37859245]
:OUTPUT ACCEPT [356525:473322431]
:SUPER - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -j SUPER
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -i eth0 -p tcp -m multiport --dports 139,445 -j DROP
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -s xxx.xxx.xxx.xxx/32 -d 10.100.0.0/24 -j ACCEPT
-A FORWARD -s 10.100.0.0/24 -d xxx.xxx.xxx.xxx/32 -j ACCEPT
-A FORWARD -s xxx.xxx.xxx.xxx/32 -d 10.100.0.0/24 -j ACCEPT
-A FORWARD -s 10.100.0.0/24 -d xxx.xxx.xxx.xxx/32 -j ACCEPT
-A FORWARD -s xx.xxx.xx.xxx/32 -d 10.100.0.0/24 -j ACCEPT
-A FORWARD -s 10.100.0.0/24 -d xxx.xxx.xxx.xxx/32 -j ACCEPT
-A FORWARD -s xxx.xxx.xxx.xxx/16 -d 10.100.0.0/24 -j ACCEPT
-A FORWARD -s 10.100.0.0/24 -d xxx.xxx.xxx.xxx/16 -j ACCEPT
-A SUPER -s 10.100.0.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
COMMIT
# Completed on Tue Sep 28 14:42:50 2010

kselofan ()

> После удаление из цепочки FORWARD этих строчек машина продолжает получать доступ в интернет!!!

Продолжает пинговаться хост. которого убрали из FORWARD?

Приведите два вывода iptables-save: когда некий хост добавлен для доступа к нему и когда некий хост убран из FORWARD (и при этом остаётся доступным). Если Вас не затруднит, сделайте различия между разными хостами, например так: ххх.ххх.ххх.1; ххх.ххх.ххх.2 и т.д. Это упростит понимание задачи. И приведите именно те правила, под которыми происходит работа, никаких «P.S FORWARD открыт только сейчас». «Дьявол прячется в мелочах» (с)


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

После удаление из цепочки FORWARD этих строчек машина продолжает получать доступ в интернет!!!

Машина продолжает получать полный доступ во внешнюю сеть как будто правило из цепочки не было убрано.

ДОБАВЛЕН В FORWARD

# Generated by iptables-save v1.4.1.1 on Tue Sep 28 16:31:45 2010
*nat
:PREROUTING ACCEPT [44557:2596498]
:POSTROUTING ACCEPT [13729:936692]
:OUTPUT ACCEPT [13755:941013]
-A POSTROUTING -s 10.100.0.0/24 -j SNAT --to-source xxx.xxx.xxx.xxx
COMMIT
# Completed on Tue Sep 28 16:31:45 2010
# Generated by iptables-save v1.4.1.1 on Tue Sep 28 16:31:45 2010
*filter
:INPUT DROP [3977:404740]
:FORWARD DROP [71379:37859245]
:OUTPUT ACCEPT [356525:473322431]
:SUPER - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -j SUPER
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -i eth0 -p tcp -m multiport --dports 139,445 -j DROP
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -s xxx.xxx.xxx.xx1/32 -d 10.100.0.0/24 -j ACCEPT
-A FORWARD -s 10.100.0.0/24 -d xxx.xxx.xxx.xx1/32 -j ACCEPT
-A FORWARD -s xxx.xxx.xxx.xx2/32 -d 10.100.0.0/24 -j ACCEPT
-A FORWARD -s 10.100.0.0/24 -d xxx.xxx.xxx.xx2/32 -j ACCEPT
-A FORWARD -s xx.xxx.xx.xx3/32 -d 10.100.0.0/24 -j ACCEPT
-A FORWARD -s 10.100.0.0/24 -d xxx.xxx.xxx.xx3/32 -j ACCEPT
-A FORWARD -s xxx.xxx.xxx.xx4/16 -d 10.100.0.0/24 -j ACCEPT
-A FORWARD -s 10.100.0.0/24 -d xxx.xxx.xxx.xx4/16 -j ACCEPT
-A FORWARD -s 10.100.0.11 -j ACCEPT #ВОТ ЭТОТ ХОСТ
-A FORWARD -d 10.100.0.11 -j ACCEPT #ВОТ ЭТОТ ХОСТ
-A SUPER -s 10.100.0.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
COMMIT
# Completed on Tue Sep 28 16:31:45 2010

УБРАН ИЗ FORWARD
# Generated by iptables-save v1.4.1.1 on Tue Sep 28 16:35:21 2010
*nat
:PREROUTING ACCEPT [44557:2596498]
:POSTROUTING ACCEPT [13729:936692]
:OUTPUT ACCEPT [13755:941013]
-A POSTROUTING -s 10.100.0.0/24 -j SNAT --to-source xxx.xxx.xxx.xxx
COMMIT
# Completed on Tue Sep 28 16:35:21 2010
# Generated by iptables-save v1.4.1.1 on Tue Sep 28 16:35:21 2010
*filter
:INPUT DROP [3977:404740]
:FORWARD DROP [71379:37859245] -------
:OUTPUT ACCEPT [356525:473322431]
:SUPER - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -j SUPER
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -i eth0 -p tcp -m multiport --dports 139,445 -j DROP
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -s xxx.xxx.xxx.xx1/32 -d 10.100.0.0/24 -j ACCEPT
-A FORWARD -s 10.100.0.0/24 -d xxx.xxx.xxx.xx1/32 -j ACCEPT
-A FORWARD -s xxx.xxx.xxx.xx2/32 -d 10.100.0.0/24 -j ACCEPT
-A FORWARD -s 10.100.0.0/24 -d xxx.xxx.xxx.xx2/32 -j ACCEPT
-A FORWARD -s xx.xxx.xx.xx3/32 -d 10.100.0.0/24 -j ACCEPT
-A FORWARD -s 10.100.0.0/24 -d xxx.xxx.xxx.xx3/32 -j ACCEPT
-A FORWARD -s xxx.xxx.xxx.xx4/16 -d 10.100.0.0/24 -j ACCEPT
-A FORWARD -s 10.100.0.0/24 -d xxx.xxx.xxx.xx4/16 -j ACCEPT
-A SUPER -s 10.100.0.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
COMMIT
# Completed on Tue Sep 28 16:35:21 2010

kselofan ()

>После удаление из цепочки FORWARD этих строчек машина продолжает получать доступ в интернет!!!

И как же ты это проверяешь? Какие адреса и каким методом?

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

Просто снаружи интернет, внутри локалка. Соответственно с внутренней машины 10.100.0.11 могу зайти на любой сайт в браузере, работает icq и т.д

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

Настораживает это правило:
-A FORWARD -s 10.100.0.0/24 -d xxx.xxx.xxx.xx4/16 -j ACCEPT

Что за сеть /16?

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

Скорее всего работают другие правила в FORWARD. Посмотри их внимательнее. Думаю, до добавления ACCEPT'ов для этого хоста инет на нем тоже есть.

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