当前位置: 首页 > 工具软件 > FirewallD > 使用案例 >

防火墙firewalld常用命令

仲皓君
2023-12-01

配置防火墙对机器的安全性非常重要:

1. firewalld 常用命令

查看系统版本:cat /etc/redhat-release     适用redhat系统的。

CentOS 7 系统中已包含firewalld , 之前版本主要用iptables,下面主要总结firewalld 常用命令:

# CentOS Linux release 7 之后
# 防火墙的配置文件在 /usr/lib/firewalld/zones/ 目录下,也可直接修改配置文件添加防火墙配置


systemctl status firewalld          # 查看防火墙状态
systemctl start firewalld           # 开启防火墙
systemctl enable firewalld          # 启用防火墙
systemctl disable firewalld         # 禁用防火墙           
systemctl stop firewalld            # 关闭防火墙
systemctl restart firewalld.service # 重启防火墙

firewall-cmd --list-all   #  查看防火墙规则
firewall-cmd --query-port=2201/tcp    # 查看某个端口开启情况
firewall-cmd --reload     #  重载配置使其生效

# 防火墙区域: 针对特定位置&场景具有的各种信任级别的预构建规则集
firewall-cmd --get-default-zone    # 防火墙默认区域
firewall-cmd --get-active-zones     # 查看网络接口使用的区域
firewall-cmd --set-default-zone=internal   # 修改默认区域


# 开放 & 不开放端口
# --zone 作用域 
# --permanent 永久生效
# --add-port / --remove-port  添加  / 删除端口
firewall-cmd --zone=public --remove-port=2200/tcp --permanent     # 2200不对外开放
firewall-cmd --zone=public --add-port=2201/tcp --permanent        # 2201对外开放

# 指定IP开放端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.111.11.11" port protocol="tcp" port="2203" accept"       # 允许10.111.11.11访问2203端口

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="10.111.11.11" port protocol="tcp" port="2203" accept"       # 删除某条规则



# 端口号查询常用命令:看端口的监听情况,只需要本机范围内,可只监听本机情况
lsof -i 2202
sudo netstat -tunlp|grep 2202

2. iptables 注意


service iptables status    #查看iptables状态
service iptables restart   #iptables服务重启
service iptables stop      #iptables服务禁用

# 增加规则: 可通过命令行(不执行service iptables save的话重启后失效),或者直接修改配置文件可一直生效

1》
# iptabls 配置文件,直接编辑/etc/sysconfig/iptables配置文件,保存后重启
*filter
:INPUT ACCEPT [0:0]                # 输入的数据包,默认规则是允许
:FORWARD ACCEPT [0:0]              # 转发数据包,默认规则是允许
:OUTPUT ACCEPT [0:0]               # 处理输出数据包,默认规则是允许
# 默认是允许,主要配置需要拦截的情况
# -A INPUT -s 10.0.0.0/8 -p tcp -m tcp --dport 2201 -j ACCEPT
# -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp --dport 2201 -j DROP


2》 命令行 : 不执行service iptables save的话重启系统后会失效
# iptables 
iptables -L -n          # 查看端口开放情况 

# 添加一条规则
iptables -I INPUT -s 10.0.0.0/8 -p tcp --dport 70201:70220 -j ACCEPT  # 允许10.XX网段访问70201-70220的端口,访问一段连续的端口":"分割

# 删除某条规则
iptables -nvL --line-number  # 查询规则, 带编号
iptables -D INPUT 40         #  根据编号删除某条规则,比如40

# *** 不要直接执行该命令,进入本机的包丢弃,会导致ssh登录不上,所有的都操作不了,如果没有执行save,可以重启系统
iptables -p INPUT DROP 
 

 类似资料: