LINUX.ORG.RU
ФорумAdmin

iptables - локалка теряет соединение


0

0

Проблема заключается в следующем:
имеется машина под RedHat являющаяся шлюзом в инет
на ней настроен iptables
Происходит следующее - соединение устанавливается, машина с локалки ходит в инет, но через некоторое время пропадает инет на локалке, при этом со шлюза можно продолжать работать с инетом
конфигурация такая:
на шлюзе 2 сетевухи - eth0 (192.168.2.3)смотрящая в инет eth1(192.168.2.4) смотрящая в локалку...
eth0 не на прямую смотрит в нет - через модем ADSL (192.168.2.1) DNS (82.207.69.34)
В чём может быть проблема? Почему через время рубится соединение для локалки? перестаёт даже пинговаться eth1 и со шлюза сама локалка... Сетевые карты,кабели менял, перенастраивать пробовал несколько раз - проблема не уходит :(
В файле /etc/sysctl.conf строка net.ipv4.ip_forward = 1
Если при отвале отключить iptables - локалка начинает ходить в нет...
вот конфигурация iptables:

# Generated by iptables-save v1.3.5 on Mon Sep 22 15:51:08 2008
*filter
:INPUT DROP [1122:73168]
:FORWARD DROP [394:23707]
:OUTPUT DROP [16:3816]
:allowed - [0:0]
:bad_tcp_packets - [0:0]
:icmp_packets - [0:0]
:tcp_packets - [0:0]
:udp_packets - [0:0]
-A INPUT -p tcp -j bad_tcp_packets 
-A INPUT -s 127.0.0.1 -i lo -j ACCEPT 
-A INPUT -s 192.168.2.4 -i lo -j ACCEPT 
-A INPUT -s 192.168.2.3 -i lo -j ACCEPT 
-A INPUT -d 192.168.2.3 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p tcp -i eth0 -j tcp_packets 
-A INPUT -p udp -i eth0 -j udp_packets 
-A INPUT -p icmp -i eth0 -j icmp_packets 
-A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT_INPUT_packet_died:" --log-level 7 
-A FORWARD -p tcp -j bad_tcp_packets 
-A FORWARD -i eth1 -m mac --mac-source 00:04:4B:80:80:03 -j ACCEPT
-A FORWARD -o eth1 -m mac --mac-source 00:04:4B:80:80:03 -j ACCEPT
-A FORWARD -i eth0 -m mac --mac-source 00:04:4B:80:80:03 -j ACCEPT
-A FORWARD -o eth0 -m mac --mac-source 00:04:4B:80:80:03 -j ACCEPT
# -A FORWARD -i eth1 -p tcp -m tcp --dport 25 -j ACCEPT
# -A FORWARD -i eth1 -p udp -m udp --dport 53 -j ACCEPT 
# -A FORWARD -i eth1 -p tcp -m tcp --dport 53 -j ACCEPT
# -A FORWARD -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT 
# -A FORWARD -i eth1 -p tcp -m tcp --dport 81 -j ACCEPT 
# -A FORWARD -i eth1 -p tcp -m tcp --dport 110 -j ACCEPT
# -A FORWARD -o eth1 -p tcp -m tcp --dport 25 -j ACCEPT 
# -A FORWARD -o eth1 -p tcp -m tcp --dport 53 -j ACCEPT
# -A FORWARD -o eth1 -p tcp -m tcp --dport 80 -j ACCEPT 
# -A FORWARD -o eth1 -p tcp -m tcp --dport 81 -j ACCEPT 
# -A FORWARD -o eth1 -p tcp -m tcp --dport 110 -j ACCEPT 
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT_FORWARD_packet_died:" --log-level 7 
-A OUTPUT -p tcp -j bad_tcp_packets 
-A OUTPUT -s 127.0.0.1 -j ACCEPT 
-A OUTPUT -s 192.168.2.4 -j ACCEPT 
-A OUTPUT -s 192.168.2.3 -j ACCEPT 
-A OUTPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "ВЁIPT_OUTPUT_packet_died:ВЁ" --log-level 7 
-A allowed -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT 
-A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A allowed -p tcp -j DROP 
-A bad_tcp_packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset 
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "NEW_NOT_SYN:" 
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP 
-A icmp_packets -p icmp -m icmp --icmp-type 8 -j ACCEPT 
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT 
-A tcp_packets -p tcp -m tcp --dport 25 -j allowed 
-A tcp_packets -p tcp -m tcp --dport 53 -j allowed
-A tcp_packets -p tcp -m tcp --dport 80 -j allowed 
-A tcp_packets -p tcp -m tcp --dport 81 -j allowed 
-A tcp_packets -p tcp -m tcp --dport 110 -j allowed
-A udp_packets -p udp -m udp --dport 53 -j allowed 
COMMIT
# Completed on Mon Sep 22 15:51:08 2008
# Generated by iptables-save v1.3.5 on Mon Sep 22 15:51:08 2008
*nat
:PREROUTING ACCEPT [1213:100943]
:POSTROUTING ACCEPT [126:7719]
:OUTPUT ACCEPT [160:14904]
# -A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -o eth0 -j SNAT --to-source 192.168.2.3 
COMMIT
# Completed on Mon Sep 22 15:51:08 2008

> В чём может быть проблема?

В маршрутизации.

> на шлюзе 2 сетевухи - eth0 (192.168.2.3)смотрящая в инет eth1(192.168.2.4) смотрящая в локалку...

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

Я понимаю что проблема в конфиге где конкретно? не могу найти ошибку :( Зарание благодарен...

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

Как говорится - в ДНК ошибка закралась.

Уже ведь сказали - ошибка в настройке сети. Кто же ставит на разных интерфейсах адреса из одной подсети?

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

На внешней сетевухе настрой любой "серый" IP, например 10.254.1.1

В принципе, внешней сетевой карте можно ВООБЩЕ не присваивать IP.
Для этого нужно перевести модем в бридж, и самому выставить PPPoE соединение с провайдером.
Ведь, насколько я понял, у тебя ADSL - модем в режиме машрутизатора.

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

Да именно так по поводу ADSL

Перевёл локалку в другую подсеть - пока полёт нормальный...

Возникает такой ещё вопрос: Как порекомендуете оптимизировать IPTABLES, увеличить безопасность и разрешить только 25,80,81,53,110 остальные под замок... И ещё пока несталкивался трояны... можно ли что нить поставить на шлюзы чтобы защитить локалку от троянов?

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

Как ты собрался защищать "локалку" от троянов, РАЗРЕШИВ ходить
своим компам в Сеть по портам 25,110 и 80? А? Это ж утопия.

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

:) существуют же антивирусы или они если машина работает только шлюзом несогут сканировать проходящие пакеты?

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

бред. Эффективно фильтровать почтовый и интернет трафик можно только установкой почтового сервера и прокси сервера с соотв. приблудами.

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

Подсеть менять вовсе не обязательно, хотя и менее хлопотно, если локалка состоит из пары-тройки компов. Ещё можно подсеть побить на 2. Например

eth0 - 192.168.2.3 mask 255.255.255.252 bc 192.168.2.4
eth1 - 192.168.2.5 mask 255.255.255.252 bc 192.168.2.255

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

Поменял так: -A FORWARD -i eth1 -m mac --mac-source 00:04:4B:80:80:03 -m multiport --dports 25,53,80,81,110 -j ACCEPT -A FORWARD -o eth1 -m mac --mac-source 00:04:4B:80:80:03 -m multiport --sports 25,53,80,81,110-j ACCEPT

Сделал так чтоб с локалки только по этим портам ходили... Что ещё сделать для увеличения безопасности как с локалки так и с нета??? Зарание благодарен...

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

-A FORWARD -o eth1 -m mac --mac-source 00:04:4B:80:80:03 -m multiport --sports 25,53,80,81,110 -j ACCEPT
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Что за бред? 

Ну и без -A FORWARD -P DROP эти правила бесполезны.

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

почему бред? разрешаю с локалки доступ в нет только машине с определённым mac адресом сетевой карты... его сменить юзеру сложнее чем ай-пи )))) у и без -A FORWARD -P DROP эти правила бесполезны. - ет понятно :)

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

> почему бред?

Потому что надо внимательнее быть и думать что делаешь.

-o eth1 -- надо полагать подразумевается пакет летящий в локалку -m mac -- надо полагать пакеты в локалку летят с одного единственного mac? Или это на на модеме какой-то хитрый mac-mangling? В любом случае к машине в локалке с определённым мак адресом это отношение не имеет.

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