《Linux系统静态路由和火墙路由》
本篇主要写的是关于静态路由表的添加,和如何让你不能上网的主机通过火墙路由表实现上网的功能。
静态路由表:
要是你的主机是2块网卡,并且做了网卡的绑定,依照我下面的方法是成功不了的,你可以去编辑:
# vim /etc/rc.d/rc.local
ip route add 12.0.0.1/24 via 192.168.1.113
sh /etc/rc.d/rc.local //这样做就行了
下面我们来看常规的路由表的添加:
我的系统默认的路由表、
下面添加一块路由表:这样的添加只是临时的。
查看下路由表:
当我们重启网络发现上面的添加都消失了,现在添加永久的静态路由:默认这个文件是没有的我们需要新建,
给那块网卡添加就写那块网卡的路由:route-eth0 route-eth1…
重启网络查看:
查看路由表:
通过IPTABLES火墙,让不能上网的主机实现上网的功能:
测试环境:
3网段可以上网,ping的通外网
双网卡的主机一块为3网段,一块为4网段,可以上网。
单网卡的主机位4网段,不可以上网,开启apache功能。
下面火墙的策略是在双网卡的主机上写的。
[root@apache ~]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.3.113
标注:在nat表添加策略:将本机出去的包全部转换成可以上网的网段,POSTROUTING路由之后的意思,-o out出去意思 SNAT源地址转换 eth0 可以上网 eth1 不可以上网。
[root@apache ~]# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-dest 192.168.4.111
把从外网进来的apache的包通过目的地址转换发送到4网段。
测试时,客户端只要是apache的包,都可以看得到。
简单的来说,就是端口本身不分源端口还是目的端口,只是针对数据包的方向而言,同样一个端口,既可以作为某项服务监听外网数据包的目的端口,也可以作为本机发送连接数据包的源端口。