firewalld
防火墙基本操作
查看版本: firewall-cmd --version
显示状态: firewall-cmd --state
查看所有打开的端口: netstat -anp
开启防火墙 systemctl start firewalld
关闭防火墙 systemctl stop firewalld
开启防火墙 service firewalld start
若遇到无法开启
先用:systemctl unmask firewalld.service
然后:systemctl start firewalld.service
3.端口查询
查询指定端口是否已开 firewall-cmd --query-port=666/tcp
提示yes or no
查询所有开启的端口 netstat -anp
4.开启端口
如果上面端口查询没有开启的话,需要重新开启一下
开启端口命令
添加 firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入 firewall-cmd --reload
查看 firewall-cmd --zone= public --query-port=80/tcp
删除 firewall-cmd --zone= public --remove-port=80/tcp --permanent
iptables防火墙
一般而言,防火墙策略规则的设置有两种:一种是“通”(即放行), 一种是“堵”(即阻止)。当防火墙的默认策略为拒绝时(堵),就要设置允许规则(通),否则 谁都进不来;如果防火墙的默认策略为允许时,就要设置拒绝规则,否则谁都能进来,防火墙 也就失去了防范的作用
iptables 服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则 链,而规则链则依据数据包处理位置的不同进行分类
在进行路由选择前处理数据包(PREROUTING); 处理流入的数据包(INPUT); 处理流出的数据包(OUTPUT); 处理转发的数据包(FORWARD); 在进行路由选择后处理数据包(POSTROUTING)
防火墙处理动作:accept 允许;reject 拒绝;drop 拒绝;log 记录日志信息;
reject和drop区别:reject拒绝流量后会返回一条”你的请求已收到,但是被扔掉了”信息;而drop是直接丢弃不响应。
参数:
-I num 在规则链头部加入新规则
-D num 删除某条规则
-A num 在规则链尾部添加新规则
-s 匹配来源地址
-d 匹配目标地址
-P 匹配协议,TCP UDP ICMP等等
--dport num 匹配目标端口号
--dsport num 匹配来源端口
-i 加网卡名称 匹配从这块网卡流入数据
-o 加网卡名称 匹配从这块网卡流出数据
iptables -L 查看规则
iptables -F 清空规则
iptables -P INPUT DROP : 把input规则链的默认策略设置为拒绝
[liutao@localhost ~]$ sudo iptables -I INPUT -p icmp -j ACCEPT [liutao@localhost ~]$ sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT icmp -- anywhere anywhere ACCEPT tcp -- 192.168.1.0/24 anywhere tcp dpt:ssh ACCEPT tcp -- 192.168.1.0/24 anywhere tcp dpt:ssh ACCEPT tcp -- 10.122.138.0/24 anywhere tcp dpt:ssh
上面向防火墙的 INPUT 规则链中添加一条允许 ICMP 流量进入的策略规则就默认允许了这种 ping 命令 检测行为
[liutao@localhost ~]$ sudo iptables -D INPUT 1 #INPUT后面数字代表规则的条数 [liutao@localhost ~]$ sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- 192.168.1.0/24 anywhere tcp dpt:ssh ACCEPT tcp -- 192.168.1.0/24 anywhere tcp dpt:ssh ACCEPT tcp -- 10.122.138.0/24 anywhere tcp dpt:ssh
上面向防火墙的 INPUT 规则链中删除允许 ICMP 流量进入的策略规则
[liutao@localhost ~]$ sudo iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
上面向防火墙的 INPUT 规则只允许192.168.1.0网段可以通过ssh22端口连接,而192.168.2.0/24网段就不能ssh连接
[liutao@localhost ~]$ sudo iptables -I INPUT -p tcp -s 192.168.1.200 --dport 80 -j REJECT
上面规则不允许192.168.1.200这台主机访问本主机80端口(多个端口可以是开始端口:结尾端口)
浙公网安备 33010602011771号