Проблема с iptables

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

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

Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Проблема с iptables

Сообщение Ztux »

Извиняюсь, что опять поднимаю этот вопрос, но сколько ни бьюсь - не могу найти решения...

Проблема в том, что не открываюстя на локальных машинах некоторые страницы.
К примеру:

Код: Выделить всё

mail.ru - открывает
news.mail.ru  - нет


[ip-сервера 192,168,102,1
ip-клиентов - 192,168,102,14-192,168,102,15]


конфиг iptables такой:

Код: Выделить всё

# Generated by iptables-save v1.4.0 on Thu Oct 16 09:48:11 2008
*nat
:PREROUTING ACCEPT [2712:139480]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [3061:136661]
-A POSTROUTING -j MASQUERADE
COMMIT
*mangle
:PREROUTING ACCEPT [43597:4153755]
:INPUT ACCEPT [3645446:1043568047]
:FORWARD ACCEPT [6685:2477208]
:OUTPUT ACCEPT [55135:33442725]
:POSTROUTING ACCEPT [4600612:2710725540]
COMMIT
*filter
:INPUT ACCEPT [43553:4145942]
:FORWARD ACCEPT [14:2396]
:OUTPUT ACCEPT [55125:33440861]
:INBOUND - [0:0]
:LOG_FILTER - [0:0]
:LSI - [0:0]
:LSO - [0:0]
:OUTBOUND - [0:0]
-A FORWARD -s 192.168.102.0/24 -p tcp -j ACCEPT
-A FORWARD -d 192.168.102.0/24 -p tcp -j ACCEPT
COMMIT


iptables -L

Код: Выделить всё

target     prot opt source               destination
ACCEPT     tcp  --  192.168.102.0/24     anywhere
ACCEPT     tcp  --  anywhere             192.168.102.0/24

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain INBOUND (0 references)
target     prot opt source               destination

Chain LOG_FILTER (0 references)
target     prot opt source               destination

Chain LSI (0 references)
target     prot opt source               destination

Chain LSO (0 references)
target     prot opt source               destination

Chain OUTBOUND (0 references)
target     prot opt source               destination


iptables -t nat -L

Код: Выделить всё

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  anywhere             anywhere


И второй трабл - раньше ДНС поднятый на сервере назначался клиентам автоматически.
Теперь нет. Вместо него присваивается ДНС-сервер провайдера.

Конфиг локальной зоны днс на серваке:

Код: Выделить всё

$ttl 38400
suzirie.local.    IN    SOA    ns.exemple.com.ua. sadm.exemple.com.ua. (
            2008092304
            10800
            3600
            604800
            38400 )
exemple.local.    IN    NS    ns.exemple.com.ua.
account.exemple.local.    IN    A    192.168.102.15
boss.exemple.local.    IN    A    192.168.102.14
ns.exemple.local.    IN    A    192.168.102.1


Account and Boss - локальные машины. IP им назначаются DHCP статически по привязке к мак-адресу.

Конфиг ДХЦП:

Код: Выделить всё

# DHCP configuration generated by Firestarter
ddns-update-style interim;
ignore client-updates;

subnet 192.168.102.0 netmask 255.255.255.0 {
    option routers 192.168.102.1;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 195.138.80.33;
    option ip-forwarding off;
    range dynamic-bootp 192.168.102.0 192.168.102.16;
    default-lease-time 21600;
    max-lease-time 43200;
}
host account {
    hardware ethernet хх:хх:хх:хх:хх:хх;
    fixed-address 192.168.102.15;
    }
host Boss {
    hardware ethernet хх:хх:хх:хх:хх:хх;
    fixed-address 192.168.102.14;
    }
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: Проблема с iptables

Сообщение danger08 »

Ztux писал(а):
20.10.2008 12:27
Извиняюсь, что опять поднимаю этот вопрос, но сколько ни бьюсь - не могу найти решения...


Насчет iptables - там правила вообще написаны безобразно, все открыто. Для начала рекомендую взять адекватный мануал по настройке iptables; или объяснить, что хотите получить, чтобы вам могли помочь в составлении конфига iptables.

Ztux писал(а):
20.10.2008 12:27
И второй трабл - раньше ДНС поднятый на сервере назначался клиентам автоматически.
Теперь нет. Вместо него присваивается ДНС-сервер провайдера.

[ skipped ]

Конфиг ДХЦП:

Код: Выделить всё

# DHCP configuration generated by Firestarter
ddns-update-style interim;
ignore client-updates;

subnet 192.168.102.0 netmask 255.255.255.0 {
    option routers 192.168.102.1;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 195.138.80.33;
    option ip-forwarding off;
    range dynamic-bootp 192.168.102.0 192.168.102.16;
    default-lease-time 21600;
    max-lease-time 43200;
}
host account {
    hardware ethernet хх:хх:хх:хх:хх:хх;
    fixed-address 192.168.102.15;
    }
host Boss {
    hardware ethernet хх:хх:хх:хх:хх:хх;
    fixed-address 192.168.102.14;
    }


Если клиенты получают сетевые параметры по dhcp, то клиенты получат dns-сервера, указанные в конфиге dhcp-сервера. Исключением является тот случай, если адреса dns-серверов прямо прописаны на клиентах. В вашем случае, судя по конфигу, клиенты получают 195.138.80.33 как адрес dns-сервера. Если нужно изменить, меняйте в конфиге dhcpd.conf нужное значение, перезапускайте dhcpd и клиенты должны получать указанный вами адрес dns-сервера (или иных параметров, по вашему усмотрению).

Потом, поправьте range dynamic-bootp, например вот так: range dynamic-bootp 192.168.102.2 192.168.102.254;
Блогосайт - http://www.fateyev.com
Спасибо сказали:
Burmuley
Сообщения: 44

Re: Проблема с iptables

Сообщение Burmuley »

То что в netfilter все открыто, не говорит о том что правила написаны безобразно :)
Может это просто комп для раздачи инета и адресов, а перед ним еще пикс какой-нить стоит....

Вопрос не в этом...

Код:

:OUTBOUND - [0:0] -A FORWARD -s 192.168.102.0/24 -p tcp -j ACCEPT -A FORWARD -d 192.168.102.0/24 -p tcp -j ACCEPT


это зачем? лучше убрать...

Код:

-A POSTROUTING -j MASQUERADE


лучше делать так:

Код:

-A POSTROUTING -o <external_eth> -j SNAT --to-source <external_ip>


То что ДНС раздается неправильно, это может быть либо статически прописан на клиенте ДНС, либо в сети появился второй DHCP-сервер (было у меня такое в практике в чужой сети :) )
посмотрите на клиенте какой сервер выдал адрес ему и проверьте настройки сетевого подключения на тему статических DNS.
--
Registered Linux user number 366113.
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: Проблема с iptables

Сообщение danger08 »

Burmuley писал(а):
20.10.2008 15:17
То что в netfilter все открыто, не говорит о том что правила написаны безобразно :)
Может это просто комп для раздачи инета и адресов, а перед ним еще пикс какой-нить стоит....


Даже если перед ним роутер стоит, все равно нет смыла держать все открытым, тем более поднят NAT.
Если уж iptables поднят, то стоит хоть какую-то политику безопасности для самого компа настроить.

Burmuley писал(а):
20.10.2008 15:17

Код:

:OUTBOUND - [0:0] -A FORWARD -s 192.168.102.0/24 -p tcp -j ACCEPT -A FORWARD -d 192.168.102.0/24 -p tcp -j ACCEPT


это зачем? лучше убрать...


Лучшая политика - запретить все, а потом последовательно добавлять/разрешать все, что надо. Ну вот например, кроме этого форварда, можно mangle полностью выкинуть - чтобы эти использовать, ему нужно четко представлять, для чего они предназначены.

Burmuley писал(а):
20.10.2008 15:17

Код:

-A POSTROUTING -j MASQUERADE


лучше делать так:

Код:

-A POSTROUTING -o <external_eth> -j SNAT --to-source <external_ip>


Можно и маскарадинг, только желательно интерфейс при этом указать. вдруг у него на внешнем интерфейсе динамический адрес :rolleyes:
Блогосайт - http://www.fateyev.com
Спасибо сказали:
Burmuley
Сообщения: 44

Re: Проблема с iptables

Сообщение Burmuley »

угу, в сети фаервол на ферволе сидит и ферволом погоняет :)
не надо параноить...
--
Registered Linux user number 366113.
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: Проблема с iptables

Сообщение danger08 »

Burmuley писал(а):
20.10.2008 16:02
угу, в сети фаервол на ферволе сидит и ферволом погоняет :)
не надо параноить...

Паранои нет, есть только естественное стремление к безопасности... А насчет большого количества файрволов - так ничего плохого здесь нет (скорее наоборот), и при адекватной настройке никому худа не будет.
Блогосайт - http://www.fateyev.com
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: Проблема с iptables

Сообщение Ztux »

Спасибо за внимание - всер работает.
Не пинайте сильно, но работает вот так:

Код: Выделить всё

iptables-save
# Generated by iptables-save v1.4.0 on Mon Oct 20 11:51:03 2008
*nat
:PREROUTING ACCEPT [44870:2367157]
:POSTROUTING ACCEPT [1005:85882]
:OUTPUT ACCEPT [6099:418642]
-A POSTROUTING -o dsl0 -j MASQUERADE
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
# Completed on Mon Oct 20 11:51:03 2008
# Generated by iptables-save v1.4.0 on Mon Oct 20 11:51:03 2008
*mangle
:PREROUTING ACCEPT [195619:20541172]
:INPUT ACCEPT [3425031:561242579]
:FORWARD ACCEPT [95847:70054063]
:OUTPUT ACCEPT [223746:25888790]
:POSTROUTING ACCEPT [5009013:957205119]
COMMIT
# Completed on Mon Oct 20 11:51:03 2008
# Generated by iptables-save v1.4.0 on Mon Oct 20 11:51:03 2008
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [46:2380]
:forward_ext - [0:0]
:forward_int - [0:0]
:input_ext - [0:0]
:input_int - [0:0]
:reject_func - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m state --state RELATED -j ACCEPT
-A INPUT -i eth0 -j input_int
-A INPUT -i dsl0 -j input_ext
-A INPUT -i eth1 -j input_ext
-A INPUT -j input_ext
-A INPUT -m limit --limit 3/min -j LOG --log-prefix "SFW2-IN-ILL-TARGET " --log-tcp-options --log-ip-options
-A INPUT -j DROP
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -i eth0 -j forward_int
-A FORWARD -i dsl0 -j forward_ext
-A FORWARD -i eth1 -j forward_ext
-A FORWARD -m limit --limit 3/min -j LOG --log-prefix "SFW2-FWD-ILL-ROUTING " --log-tcp-options --log-ip-options
-A FORWARD -j DROP
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m limit --limit 3/min -j LOG --log-prefix "SFW2-OUT-ERROR " --log-tcp-options --log-ip-options
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 0 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 3 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 11 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 12 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 14 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 18 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 3/2 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 5 -j ACCEPT
-A forward_ext -i dsl0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A forward_ext -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A forward_ext -m limit --limit 3/min -m pkttype --pkt-type multicast -j LOG --log-prefix "SFW2-FWDext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_ext -m pkttype --pkt-type multicast -j DROP
-A forward_ext -p tcp -m limit --limit 3/min -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-FWDext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_ext -p icmp -m limit --limit 3/min -j LOG --log-prefix "SFW2-FWDext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_ext -p udp -m limit --limit 3/min -j LOG --log-prefix "SFW2-FWDext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_ext -m limit --limit 3/min -m state --state INVALID -j LOG --log-prefix "SFW2-FWDext-DROP-DEFLT-INV " --log-tcp-options --log-ip-options
-A forward_ext -j DROP
-A forward_int -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 0 -j ACCEPT
-A forward_int -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 3 -j ACCEPT
-A forward_int -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 11 -j ACCEPT
-A forward_int -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 12 -j ACCEPT
-A forward_int -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 14 -j ACCEPT
-A forward_int -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 18 -j ACCEPT
-A forward_int -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 3/2 -j ACCEPT
-A forward_int -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 5 -j ACCEPT
-A forward_int -i eth0 -o dsl0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A forward_int -i eth0 -o eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A forward_int -m limit --limit 3/min -m pkttype --pkt-type multicast -j LOG --log-prefix "SFW2-FWDint-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_int -m pkttype --pkt-type multicast -j DROP
-A forward_int -p tcp -m limit --limit 3/min -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-FWDint-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_int -p icmp -m limit --limit 3/min -j LOG --log-prefix "SFW2-FWDint-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_int -p udp -m limit --limit 3/min -j LOG --log-prefix "SFW2-FWDint-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_int -m limit --limit 3/min -m state --state INVALID -j LOG --log-prefix "SFW2-FWDint-DROP-DEFLT-INV " --log-tcp-options --log-ip-options
-A forward_int -j reject_func
-A input_ext -m pkttype --pkt-type broadcast -j DROP
-A input_ext -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A input_ext -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A input_ext -p tcp -m limit --limit 3/min -m tcp --dport 10000 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-ACC-TCP " --log-tcp-options --log-ip-options
-A input_ext -p tcp -m tcp --dport 10000 -j ACCEPT
-A input_ext -m limit --limit 3/min -m pkttype --pkt-type multicast -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -m pkttype --pkt-type multicast -j DROP
-A input_ext -p tcp -m limit --limit 3/min -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -p icmp -m limit --limit 3/min -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -p udp -m limit --limit 3/min -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -m limit --limit 3/min -m state --state INVALID -j LOG --log-prefix "SFW2-INext-DROP-DEFLT-INV " --log-tcp-options --log-ip-options
-A input_ext -j DROP
-A input_int -j ACCEPT
-A reject_func -p tcp -j REJECT --reject-with tcp-reset
-A reject_func -p udp -j REJECT --reject-with icmp-port-unreachable
-A reject_func -j REJECT --reject-with icmp-proto-unreachable
COMMIT
# Completed on Mon Oct 20 11:51:03 2008
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: Проблема с iptables

Сообщение danger08 »

Ztux писал(а):
20.10.2008 16:27
Спасибо за внимание - всер работает.


Если eth1 смотрит в локальную сеть, там маскарадинг излишний, скорее даже и вредный.
И цепочку mangle можно выкинуть целиком, раз все равно не используется.
Блогосайт - http://www.fateyev.com
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: Проблема с iptables

Сообщение Ztux »

не, eth1 смотрит в глобал, а eth0 в локальную=)
а вот mangle кто такой - еще не разобрался.
время появится - я хочу этот конфиг с маном по iptables почитать, чтоб окончательно разъяснить для себя ка оно все-таки заработало))
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали: