IPTABLES配置实例
程序员文章站
2023-11-22 12:39:40
Iptables配置实例:
Iptables配置的目的,一个是防止公网的入侵,一个是让内网的兄弟们上网。在没配IPTABLES之前,只有本机能上网。
Rh8.0的“系统设置”中有... 09-03-10...
iptables配置实例:
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”文件后面,你的配置开机后也可以自动执行了。
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”文件后面,你的配置开机后也可以自动执行了。