eth0为内网,eth1为外网
echo 1 > /proc/sys/net/ipv4/ip_forward
可以使其局域网上网的简单命令
1.iptables -t nat -A POSTROUTING -j MASQUERADE
2.iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to-source 218.17.*.*
或者 iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -j SNAT --to-source 218.17.*.*
3.iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth1 -j SNAT --to-source 218.17.*.*
或者 iptables -t nat -A POSTROUTING -o eth1 -s 192.168.2.0/24 -j SNAT --to-source 218.17.*.*
4.iptables -t nat -A POSTROUTING -o eth1 -s 192.168.2.0/24 -j MASQUERADE
例如:简单的脚本
1.编写脚本vi /usr/local/sbin/iptables.sh
#! /bin/bash
# Project by lch, 2005-09-02
#Initialize modules
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -X
/sbin/iptables -t nat -X
# Deny ACK attack
/sbin/iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
/sbin/iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
#共享上网(内网转发)
/sbin/iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth1 -j SNAT --to-source 218.17.*.*
##############INPUT链#######################
#内网192.168.2网段访问本机器ssh,telent,samba,8001端口,9090端口
/sbin/iptables -P INPUT DROP
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m multiport --dports 8001,9090 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.2.0/24 --dport 23 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.2.0/24 --dport 139 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.2.0/24 --dport 22 -j ACCEPT
##############FORWARD链######################
#允许内网192.168.2网段192.168.2网段8001,9090,ftp,telent,ssh,收发邮件,http,QQ,MSN通过
/sbin/iptables -P FORWARD DROP
iptables -A FORWARD -p tcp -s 192.168.2.0/24 -m multiport --dports 21,22,23,25,80,110,443,1863,8000,8001,9090 -j ACCEPT
iptables -A FORWARD -p udp -s 192.168.2.0/24 --dport 8000 -j ACCEPT
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#禁止icmp通信(ping不通)
/sbin/iptables -A INPUT -p icmp -j DROP
2.加入/etc/rc.local中,使其系统每次启动机器都执行iptables
/usr/local/sbin/iptables.sh
3.给iptables.sh只能root用户读写执行
chmod 700 /usr/local/sbin/iptables.sh
Ok..
文章来源于领测软件测试网 https://www.ltesting.net/