linux防火墙与路由设置

      当网络数据包通过网络适配器之后,都要通过路由和防火墙才能到达目的主机或网络(多网卡时),当一个应用发送一个数据时,内核创建的数据包也要通过路由和防火墙。Linux内核定义了三种过滤规则或链(chains):INPUT、OUTPUT和FORWORD。在2.4内核后,Linux对这三种规则做了很大的调整,简化了过滤逻辑,我在这里只写2.4内核的规则。所有网卡接收到的数据包,都先要通过路由,路由之后的数据包如果到达本机,则要通过INPUT的过滤,而到达其他网卡的数据包要通过OUTPUT过滤。对于本机发送的数据包要先通过OUTPUT过滤,才进行路由。

Linux 2.4内核用iptables替换了之前的ipchains,即用iptables设置网络过滤。与设置防火墙相关的文件有三个:

  1. /sbin/目录下的应用程序

  2. /etc/sysconfig/目录下的配置文件

  3. /etc/init.d/目录下的启动脚本(/etc/init.d是/etc/rc.d/init.d的符号链接)

修改防火墙规则可以使用iptables命令,要永久保存防火规则,运行service iptables save,将新规则写到/etc/sysconfig/iptables(也可以直接修改这个文件)。一般如果要定义自己的防火墙,可以在/etc/init.d/下编写自己的启动脚本,再用chkconfig加到启动项。iptables的一些使用有:

  1. #iptables -F 清除所有路由规则

  2. #iptables -P INPUT DROP 默认INPUT处理方式为丢弃

  3. iptables -A INPUT -i eth0 -p tcp -s 209.200.200.10 --sport 1024:65535 -d MY.NETWORK.IP.ADDR --dport 22 -j ACCEPT 接收209.200.200.10的SSH连接。

  4. iptables -A INPUT -i eth0 -p tcp ! --syn -s EMAIL.NET.IP.ADDR --sport 25 -d MY.NETWORK.IP.ADDR --dport 1024:65535 -j ACCEPT 允许发送e-mail。! --syn是一个安全选项,确保这个数据包是对之前数据包的回应。

  5. iptables -A INPUT -i eth0 -p icmp -d MY.NETWORK.IP.ADDR -j ACCEPT 允许所有icmp包,也可以自定义所匹配的ICMP类型。

  6. /sbin/iptables -A INPUT --match state --state ESTABLISHED,RELATED -j ACCEPT 允许已经建立连接的数据包,即所有回应本机主动连接的应用都会允许。

修改路由规则使用route命令:

  1. #/sbin/route add --net 172.24.150.0 netmask 255.255.0.0 dev eth0 

  2. #/sbin/route add -host 192.168.150.33 gw 172.24.150.1

3. #/sbin/route add default gw 209.100.100.1

查看路由规则的命令:

1. #netstat -rn

2. #route -n

3. #ip route list

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值