五步追魂
长期以来,我一直想用iptables做只linux内核的软路由,奈何都告失败,昨晚经一夜奋战,终于成功.高兴之余,把过程写下,希望对后来者有用.
一:ADSL驱动
1,当然,pppoe是不可少的,过程简单,只是要注意DNS 和 选择防火墙时,一定要选择2,即共享网关.这里很少出问题的,(嘻)\
2,网络设置,首先是双网卡的IP地址,这里千万不能设网关(gw),如我的:eth0:192.168.1.254 掩码:255.255.255.0 接交换机连内网的;eth1:192.168.0.1 (晓军以为这里的地址可以随便设一个C类地址即可,可以区分就行了)掩码:255.255.255.0 接ADSL
3,设置IP转传:这步最重要,可在/etc/rc.local文件底下追加
echo 1 > /proc/sys/net/ipv4/ip_forward
(不要输错噢)
4,查看你的路由表
#route
应该是这样的:
Destination
Gateway
Genmfk
Flays
Metric
Ref
Use
Ifuc
cpe-24-24-24-24
*
255.255.255.255
UH
20
0
0
ppp0
192.168.1.0
*
255.255.255.0
U
10
0
0
eth0
192.168.0.0
*
255.255.2550
U
10
0
0
eth1
default
cpe-24-24-24-24
0.0.0.0
UG
20
0
0
ppp0
如果这样的,你的网络部分就OK了.
二,加载iptables
1: 首先要确定的linux内核已加载iptables和用它作为NAT必要组件,至少有:ip_tables 和ip_nat_ftp ,ip_masquerade
可在/etc/rc.local文件底部追加.
2:好了,重头戏来了!
添加ip伪装了:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
(太经典了,这句我隐隐觉得她放出金光烁人二目)
3:当然,它可在/etc/rc.local下添加,这样你的linux每次启动,都执行这道命令.
最后,作为路由器,最怕外网扫描攻击,你可用如下命令屏蔽一切来自互联网的试探性扫描
echo 1 > /proc/sys/net/ipv4/icmp_ecmp_ignore_all
完成了,不信你可测试一下,而且外网无法探知你的网络的存在,而你可不受任何限制上网,呵呵,好妙!
马晓军撰稿2005.5.23 于魏营