Скрипт для создания правил в iptables для создания шлюза
Размещено 2010-06-12
в разделе Администрирование | Метки:
Linux, Debian, Билайн
С помощью этого скрипта создаются правила для iptables и нормально работает через nat все что должно работать онлайн трансляции разнообразные, vpn и любой другой трафик.
#!/bin/bash IPTABLES=/sbin/iptables MY_EXTERNAL_IP=85.21.*.* # # delete all existing rules. # $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -t mangle -F $IPTABLES -X # echo "Mainly for PPPoE, VPN and DSL (MTU Fix, activate it if you have)" # echo "Problems with large Downloads over PPPoE" $IPTABLES -A OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu $IPTABLES -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu # echo "Connection Tracking Rules" $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # # echo "NAT: Masquerade our Traffic" $IPTABLES -t nat -A POSTROUTING -o ppp0 -j MASQUERADE echo "Static NAT to IP: $MY_EXTERNAL_IP" $IPTABLES -t nat -A POSTROUTING -o ppp0 -j SNAT --to $MY_EXTERNAL_IP echo "Block ports" # block ports ## Samba $IPTABLES -A INPUT -i ppp0 -p tcp --dport 135 -j REJECT --reject-with tcp-reset $IPTABLES -A INPUT -i eth1 -p tcp --dport 135 -j REJECT --reject-with tcp-reset $IPTABLES -A INPUT -i ppp0 -p tcp --dport 139 -j REJECT --reject-with tcp-reset $IPTABLES -A INPUT -i eth1 -p tcp --dport 139 -j REJECT --reject-with tcp-reset $IPTABLES -A INPUT -i ppp0 -p tcp --dport 445 -j REJECT --reject-with tcp-reset $IPTABLES -A INPUT -i eth1 -p tcp --dport 445 -j REJECT --reject-with tcp-reset echo 1 > /proc/sys/net/ipv4/ip_forward