iptables笔记及流量转发

一、基本命令

iptables -nv -L 查看配置规则
more /etc/sysconfig/iptables 直接查看iptables的配置文档
/etc/init.d/iptables status查看防火墙状态
service iptables save 保存正在使用的防火墙规则
iptables -F 清空防火墙中所有的规则
iptables -F -t nat 清空iptables nat 表

二、实例演示

1、开放80端口

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

2、流量转发

1、echo 1>/proc/sys/net/ipv4/ip_forward   开启转发

2、ifconfig eth1:1 192.168.150.137 netmask 255.255.255.0 给eth0接口添加一个ip
把192.168.3.0/24网段的数据转发到eth1的192.168.150.135地址。通过源地址转换(SNAT)
或者
2、iptables -t nat -I POSTROUTING -s 192.168.3.0/24 -o eth1 -j SNAT --to-source 192.168.150.135-192.168.150.137
或者
2、iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o eth1 -j MASQUERADE 把数据包的源ip改为eht1的ip地址

3、拒绝mac地址不是00:0C:6E:AB:AB:CC的udp数据包

iptables -A INPUT -p udp -m mac --mac-source !00:0C:6E:AB:AB:CC -j DROP

三、命令解释

-A :在指定链末尾添加一条规则
-D :从指定链中删除一条或多条规则
-R : 替换规则
-I :在给出的规则序号前插入一条或多条规则,如果没有,默认1
-L :列出指定链中所有规则
-F :删除所有规则
-N :建立一个新的用户自定义链

-p :指定上一层协议
-s :指定源IP地址或子网
-d :指定目的IP或子网
-i : 指定数据包进入的网络接口名称
-o :指定数据包出去的网络接口名称

-p tcp --sport :指定Tcp数据包的源端口
-p tcp --dport :指定tcp数据包的目的端口
-m multiport : 用于指定多个端口用“,”分隔
-m mac --mac-source :指定mac地址

发表评论

电子邮件地址不会被公开。 必填项已用*标注