Скрипт для создания правил в iptables для создания шлюза

в разделе Администрирование | Метки: 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