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端口(多个端口可以是开始端口:结尾端口)

 

 

 

 
posted @ 2021-08-12 21:13  拥抱大海,面向天空  阅读(148)  评论(0)    收藏  举报