首页 > 运维类 > LINUX运维 > IPTABLES命令用法

1044

浏览

0

评论

IPTABLES命令用法

作者:stephen | 分类:LINUX运维 | 标签:

常用命令

1、查看当前iptables状态

iptables -nL #默认查看filter表的状态,如果需要查看其他表的状态加上 -t 表名

iptables -nL --line-numbers #可以列出序列号,在插入或者删除的时候就不用自己去数了

iptables -nL --line-numbers --verbose #可以查看到包过滤的流量统计,访问次数等

2、插入一条记录

iptables -I INPUT 1 -i lo -j ACCPET #在第一条的位置插入一条记录,接受所有来自lo网口的访问

iptables -I INPUT 2 -s 192.168.1.0/24 -j ACCPET # 如果在INPUT中不指明在第几条插入,默认就是在第一条插入

3、追加一条记录

iptables -A INPUT -s 192.168.2.0/24 -j ACCEPT #在INPUT最后追加一条记录。

4、删除一条记录

iptables -D INPUT 7 #删除第7条记录

8、针对协议开放

iptables -I INPUT -p imcp -j ACCEPT

9、针对端口开放(需要指明协议)

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

10、限制ip端口访问

iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCPET

11、拒绝所有访问

iptables -A INPUT -j DROP #这个一般放到最后,不然会对前面的规则造成影响。

12、根据时段限制访问

iptables -A INPUT -p tcp -m time --timestart 00:00 --timestop 02:00 -j DROP #这里的时间是指UTC时间记得换算

13、限制单个IP一分钟内建立的连接数

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 25 -j REJECT

14、保存iptables规则

iptables-save > /etc/sysconfig/iptables

15、从文件里面恢复iptables规则

iptables-restore < /etc/sysconfig/iptables

16、对外建立的连接经过INPUT不拦截

iptables -I INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

17、端口转发(本机8080转发到远程192.168.1.22:80)

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to 192.168.1.22:80

iptables -t nat -A POSTROUTING -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward #需要打开网转发

iptables -t filter FORWARD -d 192.168.1.22/32 -j ACCEPT #转发的FROWARD要允许双方的数据传输

iptables -t filter FORWARD -s 192.168.1.22/32 -j ACCEPT


本文链接:https://www.stephenwxf.com/post/190.html
原创文章如转载请注明:转载自王显璠的个人博客谢谢!

Copyright Your stephenwxf.com Rights Reserved.