Iptables配置的目的,一个是防止公网的入侵,一个是让内网的兄弟们上网。在没配IPTABLES之前,只有本机能上网。
Rh8.0的“系统设置”中有个“安全级别” ,它主要是针对本机来说的,不能用它来配置iptables。打开“安全级别”,把它配成“无防火墙”级别。
为了配置、测试方便,可以先用“KWrite”编个“脚本”,采用“复制”、“粘贴”方式,把全部语句一次性粘贴到“终端”里执行。这样修改测试都很方便。
打开“其他”—“辅助设施”中的“KWrite”,将下面的样本输入或粘贴到里面(其中,eth0、eth1分别是外、内网卡):
echo "Enable IP Forwarding..."
echo 1 >/proc/sys/net/ipv4/ip_forward
echo "Starting iptables rules..."
/sbin/modprobe iptable_filter
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp ;支持被动FTP
/sbin/modprobe ip_conntrack_ftp ;
/sbin/modprobe ip_conntrack_h323 ;支持NETMEETING
/sbin/modprobe ip_nat_h323 ;
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -F POSTROUTING -t nat
iptables -F PREROUTING -t nat
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
/etc/rc.d/init.d/iptables restart
iptables -L
再另存为一个文件放到桌面上,便于使用。
在这个配置里面,INPUT和转发FORWARD功能的缺省值都是拒绝(DROP),这意味着在后面的INPUT和FORWARD语句中没有表明通过(ACCEPT)的都将被拒之门外。这是一个最好的安全模式,经过使用赛门铁克的在线测试,所有公网端口都是隐藏的。注意,所有内网端口都是打开的,本机对内没有安全可言。
其它的语句我就不多说了,最后一句是显示配置执行后的链路结果。
每次修改完后,将整篇语句全部复制,再粘贴到“终端”,它将自动配置、启动、显示一次。反复修改、测试,直到达到你的要求。
最后将整篇语句全部复制,再粘贴到“/etc/rc.d/rc.local”文件后面,你的配置开机后也可以自动执行了。