有一个图:中间欲设置一防火墙,有两个网卡ip分别为172.16.100.1和192.168.1.117  防火墙两边一个是客户端192.168.1.108,一边是server(ssh,httpd,smb)172.16.10.1

指明,客户端的网关指为19.168.1.117   服务器的网关为172.16.100.1
指定网关的命令:在客户端上指定网关:route add defualt gw 192.168.1.117  
用同样的命令可以添加服务器的网关为172.10.10.1
route -n 可以查看路由及网关信息
咋防洪墙上cat /proc/sys/net/ipv4/ip_forward 查看其值,可以知道是否开通了 路由功能,值若为0 ,则是没有开通,
此时,echo 1 > /proc/sys/net/ipv4/ip_forward,可以开通其路由公能
在服务器上添加路由route add -net 192.168.1.0/24 gw 172.16.100.1 这个时候,客户端就能凭同服务器了 通过ssh和elinks都可以验证
现在在防火墙上进行设置,禁止客户端访问服务器,就是用filter 而且input output两条连此时不能用,只能使用forward
吧forward的默认规则改为drop
iptables -P FORWARD DROP 这样1.108就不能ping通服务器了,但还能ping通172.16.100.1 因为linux上地址属于主机不属于网卡,现在就是进行设置,让客户端能ping通服务器
设置如下:
#iptables -A FORWARD -s 192.168.1.0/24 -p icmp --icmp-type 8 -j ACCEPT
这样客户端就能ping通服务武器了,但是服务器还ping不同客户端
接下来#iptables -I FORWARD -m state --state ESTADIDED -j ACCEPT
这样就在第一条forward前插入只要状态是已建立的都能放行
然后:iptables A FORWARD -s 192.168.1.0/24 -p tcp --dport 80 -m state --state NEW -j ACCEPT
这样客户端就能访问服务器了