Iptables и 80-й порт (Iptables и 80-й порт)

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

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

leksstav
Сообщения: 331

Iptables и 80-й порт

Сообщение leksstav »

Доброго времени суток,

Кто может подсказать в такой вот заморочке.

Вот скрипт самаго конфига iptables

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

#!/bin/sh
#
# /etc/rc.d/rc.local:  Local system initialization script.
#
# Put any local startup commands in here.  Also, if you have
# anything that needs to be run at shutdown time you can
# make an /etc/rc.d/rc.local_shutdown script and put those
# commands in there.
iptables -F
iptables -t nat -F
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ip_nat_ftp
## opisyvayu interfeis na storone provaidera
INET_IP="XXX.XXX.XXX.XXX"
INET_IFACE="eth0"
INET_BROADCAST="XXX.XXX.XXX.XXX"
## opisyvayu interfeis na storone localnoi seti
LAN_IP="YYY.YYY.YYY.YYY"
LAN_IP_RANGE="YYY.YYY.YYY.YYY.0/24"
LAN_IFACE="eth1"

IPTABLES="/usr/sbin/iptables"

/sbin/depmod -a #podcluchayu modyl
/sbin/modprobe ip_tables #podcluchayu modyl
/sbin/modprobe ip_conntrack #podcluchayu modyl
/sbin/modprobe iptable_filter #podcluchayu modyl
/sbin/modprobe iptable_mangle #podcluchayu modyl
/sbin/modprobe iptable_nat #podcluchayu modyl
/sbin/modprobe ipt_LOG #podcluchayu modyl
/sbin/modprobe ipt_limit #podcluchayu modyl
/sbin/modprobe ipt_state #podcluchayu modyl
/sbin/modprobe ip_nat_ftp #podcluchayu modyl

#Users
iptables -t nat -A POSTROUTING -s YYY.YYY.YYY.YYY -o $INET_IFACE -j SNAT --to-source $INET_IP #USER 1
iptables -t nat -A POSTROUTING -s YYY.YYY.YYY.YYY -o $INET_IFACE -j SNAT --to-source $INET_IP #USER 2
iptables -t nat -A POSTROUTING -s YYY.YYY.YYY.YYY -o $INET_IFACE -j SNAT --to-source $INET_IP  #USER 3
#
iptables -A INPUT -s ZZ.ZZ.ZZ.ZZ -j ACCEPT # daem dostup iz vne po vsem portam dlya opredelennogo IP
#
iptables -A INPUT -s localhost -j ACCEPT
#Otkryvaem porty dlya lokal'noi seti
iptables -A INPUT -p tcp -s $LAN_IP_RANGE --dport 25 -j ACCEPT # smtp
iptables -A INPUT -p tcp -s $LAN_IP_RANGE --dport 110 -j ACCEPT # pop3
iptables -A INPUT -p tcp -s $LAN_IP_RANGE --dport 445 -j ACCEPT # samba
#
iptables -A INPUT -p icmp -j ACCEPT #Razreshay pingi iz vne
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #podderzhivaem vse sozdannye podclycheniya
iptables -P INPUT DROP # zaprechaem vse
#############################

По команде iptables -L

Получается такой вот вывод:

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

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  host-ZZ-ZZ-ZZ-ZZ.stv.ru  anywhere
ACCEPT     all  --  localhost.localdomain  anywhere
ACCEPT     tcp  --  YYY.YYY.YYY.YYY/24     anywhere            tcp dpt:25
ACCEPT     tcp  --  YYY.YYY.YYY.YYY/24     anywhere            tcp dpt:110
ACCEPT     tcp  --  YYY.YYY.YYY.YYY/24     anywhere            tcp dpt:445
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTAB           LISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

################################################

Как видно 80 порт закрыт из локальной сети и пользователи не могут серфить
Набираю http://локальный ip адрес шлюза и да действительно не пускает меня говоря что порт недоступен.
Как только я набираю например http://yandex.ru то спокойно могу серфить буд то бы 80-й порт и не закрывал.
Получается что 80-й для локальных ресурсов у меня закрывается а для доступа на внешние сайты все равно остается открытым....

Подскажите, какие строки конфига надо подправить........ :angry:
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: Iptables и 80-й порт

Сообщение Sleeping Daemon »

leksstav писал(а):
04.02.2010 01:55
Доброго времени суток,

Кто может подсказать в такой вот заморочке.

Вот скрипт самаго конфига iptables

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

#!/bin/sh
#
# /etc/rc.d/rc.local:  Local system initialization script.
#
# Put any local startup commands in here.  Also, if you have
# anything that needs to be run at shutdown time you can
# make an /etc/rc.d/rc.local_shutdown script and put those
# commands in there.
iptables -F
iptables -t nat -F
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ip_nat_ftp
## opisyvayu interfeis na storone provaidera
INET_IP="XXX.XXX.XXX.XXX"
INET_IFACE="eth0"
INET_BROADCAST="XXX.XXX.XXX.XXX"
## opisyvayu interfeis na storone localnoi seti
LAN_IP="YYY.YYY.YYY.YYY"
LAN_IP_RANGE="YYY.YYY.YYY.YYY.0/24"
LAN_IFACE="eth1"

IPTABLES="/usr/sbin/iptables"

/sbin/depmod -a #podcluchayu modyl
/sbin/modprobe ip_tables #podcluchayu modyl
/sbin/modprobe ip_conntrack #podcluchayu modyl
/sbin/modprobe iptable_filter #podcluchayu modyl
/sbin/modprobe iptable_mangle #podcluchayu modyl
/sbin/modprobe iptable_nat #podcluchayu modyl
/sbin/modprobe ipt_LOG #podcluchayu modyl
/sbin/modprobe ipt_limit #podcluchayu modyl
/sbin/modprobe ipt_state #podcluchayu modyl
/sbin/modprobe ip_nat_ftp #podcluchayu modyl

#Users
iptables -t nat -A POSTROUTING -s YYY.YYY.YYY.YYY -o $INET_IFACE -j SNAT --to-source $INET_IP #USER 1
iptables -t nat -A POSTROUTING -s YYY.YYY.YYY.YYY -o $INET_IFACE -j SNAT --to-source $INET_IP #USER 2
iptables -t nat -A POSTROUTING -s YYY.YYY.YYY.YYY -o $INET_IFACE -j SNAT --to-source $INET_IP  #USER 3
#
iptables -A INPUT -s ZZ.ZZ.ZZ.ZZ -j ACCEPT # daem dostup iz vne po vsem portam dlya opredelennogo IP
#
iptables -A INPUT -s localhost -j ACCEPT
#Otkryvaem porty dlya lokal'noi seti
iptables -A INPUT -p tcp -s $LAN_IP_RANGE --dport 25 -j ACCEPT # smtp
iptables -A INPUT -p tcp -s $LAN_IP_RANGE --dport 110 -j ACCEPT # pop3
iptables -A INPUT -p tcp -s $LAN_IP_RANGE --dport 445 -j ACCEPT # samba
#
iptables -A INPUT -p icmp -j ACCEPT #Razreshay pingi iz vne
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #podderzhivaem vse sozdannye podclycheniya
iptables -P INPUT DROP # zaprechaem vse
#############################

По команде iptables -L

Получается такой вот вывод:

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

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  host-ZZ-ZZ-ZZ-ZZ.stv.ru  anywhere
ACCEPT     all  --  localhost.localdomain  anywhere
ACCEPT     tcp  --  YYY.YYY.YYY.YYY/24     anywhere            tcp dpt:25
ACCEPT     tcp  --  YYY.YYY.YYY.YYY/24     anywhere            tcp dpt:110
ACCEPT     tcp  --  YYY.YYY.YYY.YYY/24     anywhere            tcp dpt:445
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTAB           LISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

################################################

Как видно 80 порт закрыт из локальной сети и пользователи не могут серфить
Набираю http://локальный ip адрес шлюза и да действительно не пускает меня говоря что порт недоступен.
Как только я набираю например http://yandex.ru то спокойно могу серфить буд то бы 80-й порт и не закрывал.
Получается что 80-й для локальных ресурсов у меня закрывается а для доступа на внешние сайты все равно остается открытым....

Подскажите, какие строки конфига надо подправить........ :angry:

FORWARD. Для транзитных пакетов INPUT/OUTPUT не работает.
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Iptables и 80-й порт

Сообщение Alex2ndr »

leksstav писал(а):
04.02.2010 01:55
Chain FORWARD (policy ACCEPT)
...
Как видно 80 порт закрыт из локальной сети и пользователи не могут серфить
...

Эти 2 строки не согласуются - вы бы мануал по настройке iptables почитали.
Спасибо сказали:
Venegance
Сообщения: 119
ОС: Debian

Re: Iptables и 80-й порт

Сообщение Venegance »

iptables -A INPUT -s кому_можно -p tcp --dport 80 -j ACCEPT
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Iptables и 80-й порт

Сообщение pelmen »

Venegance писал(а):
04.02.2010 11:23
iptables -A INPUT -s кому_можно -p tcp --dport 80 -j ACCEPT
Как я не догадался?...
P.S. Тему читали вообще?
Спасибо сказали:
Venegance
Сообщения: 119
ОС: Debian

Re: Iptables и 80-й порт

Сообщение Venegance »

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

iptables -P FORWARD DROP
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORAWRD -s кому_можно_в_интернет -j ACCEPT
Это в самом простом случае.
Спасибо сказали: