firewalld
- 查看防火墙状态
systemctl status firewalld
- 查看端口是否开放
firewall-cmd --query-port=80/tcp
- 移除端口
- 查看开放端口列表
`firewall-cmd --list-port`
firewall-cmd --zone=public --remove-port=80/tcp --permanent
#
firewall-cmd --permanent --remove-port=123/tcp
- 关闭
systemctl stop firewalld.service
- 开启
systemctl start firewalld.service
- 开启开机启动
systemctl enable firewalld.service
- 关闭开机启动
systemctl disable firewalld.service
- 开启端口
#(--permanent永久生效,没有此参数重启后失效)
#注:可以是一个端口范围,如1000-2000/tcp
firewall-cmd --zone=public --add-port=80/tcp --permanent
iptables
- 查看状态
service iptables status
- 开启
service iptables start
- 关闭
service iptables stop
- 查看所有规则
查看filter表规则: 普通查看:iptables -t filter --list
, 详细信息:iptables -nvL
查看mangle表: iptables -t mangle --list
查看NAT表: iptables -t nat --list
查看ROW表: iptables -t raw --list
-L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数
-n 不对ip地址进行反查,加上这个参数显示速度会快很多
-v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口
–line-number 显示规则的序列号,这个参数在删除或修改规则时会用到
- 添加(添加规则有两个参数:-A和-I。其中-A是添加到规则的末尾;-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部。
)
添加到尾部
iptables -A INPUT -s ${ip} -j DROP
添加到第三行
iptables -I INPUT 3 -s ${ip} -j DROP
新增参数
-p 协议(protocol)
指定规则的协议,如tcp, udp, icmp等,可以使用all来指定所有协议。
如果不指定-p参数,则默认是all值。这并不明智,请总是明确指定协议名称。
可以使用协议名(如tcp),或者是协议值(比如6代表tcp)来指定协议。映射关系请查看/etc/protocols
还可以使用–protocol参数代替-p参数
-s 源地址(source)
指定数据包的源地址
参数可以使IP地址、网络地址、主机名
例如:-s 192.168.1.101指定IP地址
例如:-s 192.168.1.10/24指定网络地址
如果不指定-s参数,就代表所有地址
还可以使用–src或者–source
-d 目的地址(destination)
指定目的地址
参数和-s相同
还可以使用–dst或者–destination
-j 执行目标(jump to target)
-j代表”jump to target”
-j指定了当与规则(Rule)匹配时如何处理数据包
可能的值是ACCEPT, DROP, QUEUE, RETURN
还可以指定其他链(Chain)作为目标
-i 输入接口(input interface)
-i代表输入接口(input interface)
-i指定了要处理来自哪个接口的数据包
这些数据包即将进入INPUT, FORWARD, PREROUTE链
例如:-i eth0指定了要处理经由eth0进入的数据包
如果不指定-i参数,那么将处理进入所有接口的数据包
如果出现! -i eth0,那么将处理所有经由eth0以外的接口进入的数据包
如果出现-i eth+,那么将处理所有经由eth开头的接口进入的数据包
还可以使用–in-interface参数
-o 输出(out interface)
-o代表”output interface”
-o指定了数据包由哪个接口输出
这些数据包即将进入FORWARD, OUTPUT, POSTROUTING链
如果不指定-o选项,那么系统上的所有接口都可以作为输出接口
如果出现! -o eth0,那么将从eth0以外的接口输出
如果出现-i eth+,那么将仅从eth开头的接口输出
还可以使用–out-interface参数
网友评论