张金龙

一直在路上的菜鸟

自我介绍:

一个入行三年的程序员,记录下工作和生活中遇到的问题, 联系邮箱 gangcai88688@163.com

iptables常用命令
发布日期:2019-09-12 分类:PHP 作者:龙 +148

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条记录

  
5、针对协议开放

iptables -I INPUT -p imcp -j ACCEPT

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

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

7、限制ip端口访问

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

8、拒绝所有访问

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

9、根据时段限制访问

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

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

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

11、保存iptables规则

iptables-save > /etc/sysconfig/iptables

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

iptables-restore < /etc/sysconfig/iptables

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

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

14、端口转发(本机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


© 2019 策马天下