Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- echo "1" > /proc/sys/net/ipv4/ip_forward
- echo 1 > /proc/sys/net/ipv4/ip_dynaddr
- modprobe iptable_nat
- modprobe ip_conntrack_ftp
- modprobe ip_nat_ftp
- iptables -F
- iptables -F -t nat
- iptables -F -t mangle
- iptables -P INPUT DROP
- iptables -P OUTPUT DROP
- iptables -P FORWARD DROP
- #Маскардинг в инет и локалку
- iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
- iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE
- iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
- #Разрешаем порты для l2tp
- iptables -A INPUT -i eth1 -p udp --dport 1701 --sport 1701 -j ACCEPT
- iptables -A OUTPUT -o eth1 -p udp --sport 1701 --dport 1701 -j ACCEPT
- iptables -A INPUT -i eth1 -p udp --dport 500 --sport 500 -j ACCEPT
- iptables -A OUTPUT -o eth1 -p udp --sport 500 --dport 500 -j ACCEPT
- iptables -A INPUT -i eth1 -p udp --dport 47 --sport 47 -j ACCEPT
- iptables -A OUTPUT -o eth1 -p udp --sport 47 --dport 17 -j ACCEPT
- # разрешаем локальный траффик для loopback и внутренней сети
- iptables -A INPUT -i lo -j ACCEPT
- iptables -A OUTPUT -o lo -j ACCEPT
- iptables -A INPUT -i eth0 -j ACCEPT
- iptables -A OUTPUT -o eth0 -j ACCEPT
- # ICMP разрешаем пинг с локальной сети провайдера до сервера
- iptables -A INPUT -i eth1 -p icmp -j ACCEPT
- iptables -A OUTPUT -o eth1 -p icmp -j ACCEPT
- iptables -A INPUT -i ppp0 -p icmp -j ACCEPT
- iptables -A OUTPUT -o ppp0 -p icmp -j ACCEPT
- # Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса.
- iptables -A INPUT -m state --state INVALID -j DROP
- iptables -A FORWARD -m state --state INVALID -j DROP
- # Принимать все пакеты, которые инициированы из уже установленного соединения, и имеющим признак ESTABLISHED.
- # Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
- iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
- # Приводит к связыванию системных ресурсов, так что реальных обмен данными становится не возможным.
- iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
- iptables -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
- # Разрешаем ssh серверу
- iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT
- iptables -A OUTPUT -o eth1 -p tcp --sport 22 -j ACCEPT
- #share
- #iptables -A INPUT -i eth1 -p udp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
- #iptables -A OUTPUT -o eth1 -p udp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
- #iptables -A INPUT -i eth1 -p tcp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
- #iptables -A OUTPUT -o eth1 -p tcp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
- # Разрешаем dns серверу
- iptables -A INPUT -i eth1 -p udp --sport 53 -j ACCEPT
- iptables -A OUTPUT -o eth1 -p udp --dport 53 -j ACCEPT
- #Разрешаем пинговать узлы интернета
- iptables -A INPUT -i ppp0 -p icmp -j ACCEPT
- iptables -A OUTPUT -o ppp0 -p icmp -j ACCEPT
- #Разрешаем серверу http и dydns
- iptables -A INPUT -i ppp0 -p tcp --sport 80 -j ACCEPT
- iptables -A OUTPUT -o ppp0 -p tcp --dport 80 -j ACCEPT
- #Разрешаем серверу https и webmin
- iptables -A INPUT -i eth1 -p tcp --dport 443 -j ACCEPT
- iptables -A OUTPUT -o eth1 -p tcp --sport 443 -j ACCEPT
- iptables -A INPUT -i eth1 -p tcp --dport 10000 -j ACCEPT
- iptables -A OUTPUT -o eth1 -p tcp --sport 10000 -j ACCEPT
- #Разрешаем серверу ftp
- iptables -A INPUT -i ppp0 -p tcp --sport 21 --dport 21 -j ACCEPT
- iptables -A OUTPUT -o ppp0 -p tcp --sport 21 --dport 21 -j ACCEPT
- #Ну а тут разрешаем пользователям внутренней сети доступ в инет и в локалку
- iptables -A FORWARD -i eth0 -o ppp0 -p tcp -m multiport --dport 80,443,110,25,143,5190,20,21 -j ACCEPT
- iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 53 -j ACCEPT
- iptables -A FORWARD -i ppp0 -o eth0 -p tcp -m multiport --sport 80,110,443,25,143,5190,20,21 -j ACCEPT
- iptables -A FORWARD -i eth1 -o eth0 -p udp --sport 53 -j ACCEPT
- iptables -A FORWARD -i eth0 -o eth1 -p tcp -m multiport --dport 80,443,110,25,143,5190 -j ACCEPT
- iptables -A FORWARD -i eth1 -o eth0 -p tcp -m multiport --sport 80,110,443,25,143,5190 -j ACCEPT
- #Разрешаем пинговать узлы интернета
- iptables -A FORWARD -i eth0 -o ppp0 -p icmp -j ACCEPT
- iptables -A FORWARD -i ppp0 -o eth0 -p icmp -j ACCEPT
- #Разрешаем RDP
- iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 3389 -j ACCEPT
- iptables -A FORWARD -i eth1 -o eth0 -p tcp --sport 3389 -j ACCEPT
- #Бхгалтерия
- iptables -A FORWARD -i eth0 -o ppp0 -p tcp --dport 1024 -j ACCEPT
- iptables -A FORWARD -i ppp0 -o eth0 -p tcp --sport 1024 -j ACCEPT
- iptables -A FORWARD -i eth0 -o ppp0 -p udp --dport 55777 -j ACCEPT
- iptables -A FORWARD -i ppp0 -o eth0 -p udp --sport 55777 -j ACCEPT
- #Разрешаем NETBIOS
- #iptables -A FORWARD -i eth0 -o eth1 -p udp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
- #iptables -A FORWARD -i eth0 -o eth1 -p tcp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
- #iptables -A FORWARD -i eth1 -o eth0 -p udp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
- #iptables -A FORWARD -i eth1 -o eth0 -p tcp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT
- #Разрешаем пинговать узлы локальной сети
- iptables -A FORWARD -i eth0 -o eth1 -p icmp -j ACCEPT
- iptables -A FORWARD -i eth1 -o eth0 -p icmp -j ACCEPT
- #Порт маппинг radmin
- iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 8450 -j DNAT --to-destination 192.168.0.7:8450
- iptables -t nat -A PREROUTING -p tcp -s 10.213.1.63 --dport 8450 -j DNAT --to-destination 192.168.0.7:8450
- iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 9999 -j DNAT --to-destination 192.168.0.4:9999
- iptables -A FORWARD -p tcp -s 192.168.0.4 --sport 9999 -j ACCEPT
- iptables -A FORWARD -p tcp -d 192.168.0.4 --dport 9999 -j ACCEPT
- iptables -A FORWARD -p tcp -s 192.168.0.7 --sport 8450 -j ACCEPT
- iptables -A FORWARD -p tcp -d 192.168.0.7 --dport 8450 -j ACCEPT
Advertisement
Add Comment
Please, Sign In to add comment