Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.
Модераторы: SLEDopit , Модераторы разделов
leksstav
Сообщения: 331
Сообщение
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-й для локальных ресурсов у меня закрывается а для доступа на внешние сайты все равно остается открытым....
Подскажите, какие строки конфига надо подправить........
Sleeping Daemon
Сообщения: 1450
Сообщение
Sleeping Daemon » 04.02.2010 08:02
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-й для локальных ресурсов у меня закрывается а для доступа на внешние сайты все равно остается открытым....
Подскажите, какие строки конфига надо подправить........
FORWARD. Для транзитных пакетов INPUT/OUTPUT не работает.
Alex2ndr
Сообщения: 443
ОС: Debian Lenny
Сообщение
Alex2ndr » 04.02.2010 10:08
leksstav писал(а): ↑ 04.02.2010 01:55
Chain FORWARD (policy ACCEPT)
...
Как видно 80 порт закрыт из локальной сети и пользователи не могут серфить
...
Эти 2 строки не согласуются - вы бы
мануал по настройке iptables почитали.
Venegance
Сообщения: 119
ОС: Debian
Сообщение
Venegance » 04.02.2010 11:23
iptables -A INPUT -s кому_можно -p tcp --dport 80 -j ACCEPT
pelmen
Сообщения: 1268
ОС: debian
Сообщение
pelmen » 04.02.2010 14:48
Venegance писал(а): ↑ 04.02.2010 11:23
iptables -A INPUT -s кому_можно -p tcp --dport 80 -j ACCEPT
Как я не догадался?...
P.S. Тему читали вообще?
Venegance
Сообщения: 119
ОС: Debian
Сообщение
Venegance » 04.02.2010 15:38
Код: Выделить всё
iptables -P FORWARD DROP
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORAWRD -s кому_можно_в_интернет -j ACCEPTЭто в самом простом случае.