iptables命令
格式:
iptables 参数 chain [规则的所在行的编号] 规则
常用:
# 将本机6666端口的请求转发到本机的9999端口
iptables -t nat -A PREROUTING -p tcp --dport 6666 -j REDIRECT --to-port 9999
参数:
-t 指定要操作的表。 eg:-t nat
-p 指定协议。 eg:-p tcp
-L 或–-list List the rules in a chain or all chains
-n 或--numeric numeric output of addresses and port
-v 或--verbose verbose model (包含通过该规则的数据包数量,总字节数
)
--line-number print line numbers when listing (在删除或修改规则时可以使用该参数)
-A 或-–append 添加到规则的末尾
-I 或–-insert 插入到指定的位置,若没有指定位置则默认插入到规则的首部
-D 或-–delete 删除规则
-R 或–-replace 更新规则
-s 或--source
-j 或--jump 跳过的规则
table:
nat
filter
chain:
OUTPUT 本机向外发送数据
INPUT 给本机发送数据
FORWARD 将数据转发到本机的其它网卡上
规则:
ACCEPT 允许数据包通过
REJECT 拒绝数据包
DROP 丢弃数据包
举例:
# 查看iptables的规则列表
iptables -nvL --line-number
# 插件新规则:拒绝向指定的ip发送数据包
iptables -I OUTPUT -s xxx.xxx.xxx.xx -j REJECT
# 插入新规则:拒绝来自指定ip的数据包
iptables -I INPUT -s xxx.xxx.xxx.xx -j REJECT
# 删除规则
iptables -D INPUT -s xxx.xxx.xxx.xx -j REJECT
# 插入新规则到第2行:拒绝来自指定ip的数据包
iptables -I INPUT 2 -s xxx.xxx.xxx.xx -j REJECT
# 更新第2行的规则
iptables -R INPUT 2 -j ACCEPT
# 删除第2行的规则
iptables -D INPUT 2
保存命令行中设置的iptables规则到iptables文件中:
service iptables save
启动防火墙:
service iptables start
关闭防火墙:
service iptables stop
重启防火墙:
service iptables restart