1 (25.04.2014 12:40:32 отредактировано leksstav)

Именно на самом шлюзе могу только пинговать те или иные хосты, а достучаться на 80-й 22-й не могу потому что закрыто.
Мне надо именно для самого шлюза открыть доступ на все порты и протоколы.
Ниже настоящий конфиг, прошу помочь с правилом которое бы открыло доступ в инет именно для самого шлюза.


#!/bin/sh
################################################################################
################################################################
## opisyvayu interfeis na storone provaidera
INET_IP="YY.YY.YY.YY"
INET_IFACE="eth0"
INET_BROADCAST="YY.YY.YY.YY"
################################################################################
#################################################################
## opisyvayu interfeis na storone localnoi seti
LAN_IP="192.168.10.1"
LAN_IP_RANGE="192.168.10.0/24"
LAN_IFACE="eth1"
################################################################################
###################################################################
## opisyvayu podset dlya VPN
LAN_VPN_RANGE="192.168.99.0/24" #delaem podset dlya VPN
################################################################################
###################################################################
# Razreshit' zaschitu ot fal'sifikacii IP-adresov.
# Vklyuchit' proverku ishodnyh adreso
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $f
done
################################################################################
####################################################################
# Sbrasyvaem vse pravila
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
################################################################################
#####################################################################
# Ustanavlivaem politiki po umolchaniyu
# Zapreschaem ves' vhodyaschii trafik:
iptables -P INPUT DROP
# Zapreschaem ishodyaschii trafik:
iptables -P OUTPUT DROP
# Zapreschaem peresylku trafika:
iptables -P FORWARD ACCEPT
################################################################################
#######################################################################
# Простая защита от DoS-атаки
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
# Защита от спуфинга
iptables -I INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT --reject-with tcp-reset
# Защита от попытки открыть входящее соединение TCP не через SYN
iptables -I INPUT -m conntrack --ctstate NEW -p tcp ! --syn -j DROP
# Закрываемся от кри ого icmp
iptables -I INPUT -p icmp -f -j DROP
################################################################################
#######################################################################
# Razreshaem vhodyaschii trafik v ramkah ustanovlennyh soedinenii:
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
################################################################################
########################################################################
# Razreshaem ves' trafik vnutri servera:
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o  lo -j ACCEPT
################################################################################
##########################################################################
#ICMP:
iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
################################################################################
###########################################################################
#DNS
iptables -A INPUT  -i eth0 -p udp -m udp --sport 53 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT
#vklyuchayu ip forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ip_nat_ftp
################################################################################
###########################################################################
## imya i mesto nahojdenie utility
IPTABLES="/usr/sbin/iptables"
#podcluchayu modyl
/sbin/depmod -a #podcluchayu modyl
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
/sbin/modprobe ip_nat_ftp
################################################################################
###########################################################################
iptables -t nat -A POSTROUTING -o eth0 -p icmp -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -d 8.8.8.8 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -d 8.8.4.4 -j MASQUERADE
################################################################################
###########################################################################
#Дать доступ определеннопу ПК с адресом 192.168.10.2
#на все без ограничений (типа комп админа локальный)
iptables -t nat -A POSTROUTING -p tcp -s 192.168.10.2 -j SNAT --to-source $INET_IP
################################################################################
#Дать доступ для всей локальной сети на сам шлюз на порт 80
iptables -A INPUT -p tcp --dport 80 -s 192.168.10.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.10.0/24 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
#
#Дать доступ для всей локальной сети на сам шлюз на порт 3128
iptables -A INPUT -p tcp --dport 3128 -s 192.168.10.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.10.0/24 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
###########################################################################
#Отправляю всех на squid т.е. прозрачный прокси
iptables -t nat -A PREROUTING  -p tcp -s $LAN_IP_RANGE ! -d 192.168.10.1 --dport 80 -j REDIRECT --to-ports 3128 # Prozrachnoe procsirovanie
################################################################################
###########################################################################
#Даю доступ на 110,3128,443,25,80,21,2041,2042 порт для следующих ip адресов в локальной сети
#(т.е. обычный серфинг на любые адреса ip адреса независимо где находится
#предоставляемый сервис в локалке или где то в сети интеренет)
iptables -t nat -A POSTROUTING -p tcp -s 192.168.10.3 -m multiport --dports 110,3128,443,25,80,21,2041,2042 -j SNAT --to-source $INET_IP
iptables -t nat -A POSTROUTING -p tcp -s 192.168.10.4 -m multiport --dports 110,3128,443,25,80,21,2041,2042 -j SNAT --to-source $INET_IP
iptables -t nat -A POSTROUTING -p tcp -s 192.168.10.5 -m multiport --dports 110,3128,443,25,80,21,2041,2042 -j SNAT --to-source $INET_IP
iptables -t nat -A POSTROUTING -p tcp -s 192.168.10.6 -m multiport --dports 110,3128,443,25,80,21,2041,2042 -j SNAT --to-source $INET_IP
iptables -t nat -A POSTROUTING -p tcp -s 192.168.10.7 -m multiport --dports 110,3128,443,25,80,21,2041,2042 -j SNAT --to-source $INET_IP
iptables -t nat -A POSTROUTING -p tcp -s 192.168.10.8 -m multiport --dports 110,3128,443,25,80,21,2041,2042 -j SNAT --to-source $INET_IP
iptables -t nat -A POSTROUTING -p tcp -s 192.168.10.9 -m multiport --dports 110,3128,443,25,80,21,2041,2042 -j SNAT --to-source $INET_IP
iptables -t nat -A POSTROUTING -p tcp -s 192.168.10.10 -m multiport --dports 110,3128,443,25,80,21,2041,2042 -j SNAT --to-source $INET_IP
################################################################################
############################################################################
#Одному из компов локалки с адресом 192.168.10.17
#открыть только 25 и 110. (на любые pop и smtp адреса
#независимо где почта в локалке или удаленная)
iptables -t nat -A POSTROUTING -p tcp -s 192.168.10.17 --dport 25 -j SNAT --to-source $INET_IP
iptables -t nat -A POSTROUTING -p tcp -s 192.168.10.17 --dport 110 -j SNAT --to-source $INET_IP
################################################################################
############################################################################
#Одному пк в локалке с адресом 192.168.10.18 дать доступ
#на 80 порт только на определенный ip допустим в
#по вдресу ZZ.ZZ.ZZ.ZZ крутится корпоративный web портал
iptables -t nat -A POSTROUTING -p tcp -s 192.168.10.18 -o eth0 -d ZZ.ZZ.ZZ.ZZ --dport 80 -j SNAT --to-source $INET_IP
################################################################################
###########################################################################
#Дать доступ из вне с определенного IP например WW.WW.WW.WW адреса на шлюз
#на все порты (если потребуется админу из дома зайти на шлюз например)
iptables -A INPUT -i eth0 -s WW.WW.WW.WW -j ACCEPT
iptables -A OUTPUT -o eth0 -d WW.WW.WW.WW -j ACCEPT
################################################################################
###########################################################################
#Даем доступ адресу 192.168.99.10 из openvpn подсети доступ на шлюз на все порты (админский адрес openVPN)
iptables -A INPUT -i tun0 -s 192.168.99.10 -j ACCEPT
iptables -A OUTPUT -o tun0 -d 192.168.99.10 -j ACCEPT
################################################################################
############################################################################
#Разрешаю доступ с конкреного внешнего ip на конкретный порт т.е. ssh т.е. 22 порт по протоколу tcp
iptables -A INPUT -s RR.RR.RR.RR -d $INET_IP -p tcp --dport 22 -j ACCEPT
################################################################################
############################################################################
#Дать досту из вне с любого IP адреса на порт 1194 и 25 OPENVPN и почта
iptables -A INPUT -i $INET_IFACE -p tcp -s 0/0 --sport 513:65535 -d $INET_IP -m multiport --dports 1194,25 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o $INET_IFACE -p tcp -s $INET_IP -d 0/0 --dport 513:65535 -m conntrack --ctstate ESTABLISHED -j ACCEPT
################################################################################

2

Вопрос снят, разобрался.

3

А поделитесь решением.

Trouble  in WINDOWS reboot, trouble in UNIX be root.

4

Добавил такое вот правило

iptables -A OUTPUT -o eth0 -j ACCEPT