最近配了iptables,码一下
iptables是用来设置、维护和检查Linux内核的IP包过滤规则的。具体的还是找度娘[https://baike.baidu.com/item/IPTABLES/9139339?fr=aladdin],这里就不再赘述。
1.查看iptables状态
1.#iptables -n -L 或者是 service iptables status, 当显示下边信息时iptables未开启。
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
当显示如下信息时,iptables说明是开启的。
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT tcp -- -------------- 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- -------------- 0.0.0.0/0 tcp dpt:22
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
2.清除原有规则
#iptables -F 清除预设表filter中的所有规则链的规则
#iptables -X 清除预设表filter中自定义链规则
3设定规则
这里只说直接修改文件vi /etc/sysconfig/iptables
1.DROP(放弃)
2.ACCEPT(接受)
3.增加,插入,删除和替换规则
iptables [-t 表名] <-A|I|D|R> 链名 [规则编号] [-i|o 网卡名称] [-p 协议类型] [-s 源ip|源子网] [–sport 源端口号] [-d 目的IP|目标子网] [–dport 目标端口号] [-j 动作]
参数:-A 增加
-I 插入
-D 删除
-R 替换
#入包关闭,一定要提前设置好远程连接的地址,不然远程连接就直接断掉,还得去找服务器本地连接,很麻烦
:INPUT DROP [0:0]
#forward开启
:FORWARD ACCEPT [0:0]
#output开启
:OUTPUT ACCEPT [0:0]
#允许ping
-A INPUT -p icmp -j ACCEPT
#开启本地环路127.0.0.1访问
-A INPUT -i lo -j ACCEPT
#允许已经建立的连接访问,web项目需要加此句,不然无法访问数据库
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许ip地址为xxxx访问所有端口
-A INPUT -p tcp -m state --state NEW -m tcp -s xxxx -j ACCEPT
#接受端口22的ip地址
-A INPUT -s xxxxxxxxx -p tcp --dport 22 -j ACCEPT
#接受一段ip地址
-A INPUT -m iprange --src-range 192.168.13.1-192.168.13.112 -p tcp --dport 8888 -j ACCEPT
COMMIT
4.开启/关闭iptables命令
关闭:service iptables stop
开启:service iptables start
重启:service iptables restart