千家信息网

【基础部分】之Firewall和iptables

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,Firewall和iptablesfirewall 和 iptables 默认只能开一个火墙:图形界面形式配置火墙 firewall-config使用命令行接口配置防火墙查看firewalld的状态:
千家信息网最后更新 2026年10月31日【基础部分】之Firewall和iptables

Firewall和iptables

firewall 和 iptables 默认只能开一个

火墙:

图形界面形式配置火墙 firewall-config

使用命令行接口配置防火墙

查看firewalld的状态: firewall-cmd --state

查看当前活动的区域,并附带一个目前分配给它们的接口列表:

# firewall-cmd --get-active-zones

查看默认区域: # firewall-cmd --get-default-zone

查看所有可用区域: # firewall-cmd --get-zones

列出指定域的所有设置: # firewall-cmd --zone=public --list-all

列出所有区域的设置: # firewall-cmd --list-all-zones

设置默认区域: # firewall-cmd --set-default-zone=trusted

设置网络地址到指定的区域:

# firewall-cmd --permanent --zone=tursted --add-source=172.25.15.0/24

(--permanent参数表示永久生效设置,如果没有指定--zone参数,那么会加入默认区域)

删除指定区域中的网路地址:

# firewall-cmd --permanent --zone=trusted --remove-source=172.25.0.0/24

添加、改变、删除网络接口:

# firewall-cmd --permanent --zone=trusted --add-interface=eth0

# firewall-cmd --permanent --zone=trusted --change-interface=eth0

# firewall-cmd --permanent --zone=trusted --remove-interface=eth0

添加、删除服务:

# firewall-cmd --permanent --zone=public --add-service=smtp

# firewall-cmd --permanent --zone=public --remove-service=smtp

列出、添加、删除端口:

# firewall-cmd --zone=public --list-ports

# firewall-cmd --permanent --zone=public --add-port=8080/tcp

# firewall-cmd --permanent --zone=public --remove-port=8080/tcp

重载防火墙:

# firewall-cmd --reload

(注意:这并不会中断已经建立的连接,如果打算中断,可以使用 --complete-reload选项)

比如你正在ssh连接该主机,该主机重载防火墙 ssh不会断开 仍然可以操作该主机

如果--complete-reload 则ssh会断开。

列出所有预设服务: # firewall-cmd --get-services

在/usr/lib/firewalld/services/ 中的可以查看服务名称。注意:配置文件是以服务本身命名的

service-name. Xml 如下

以http为例子

默认 端口为80 如果想改端口 可以在这里修改

Direct Rules

firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 22 -s 172.25.15.10 -j REJECT

添加rule 拒绝172.25.15.10 主机访问22端口(ssh)

firewall-cmd --direct --get-all-rules 查看所有rule

firewall-cmd --direct --remove-rule ipv4 filter INPUT 0 -p tcp --dport 22 -s 172.25.15.10 -j REJECT (删除的是上面查看出来的)

firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 22 ! -s 172.25.15.10 -j REJECT

添加rule 拒绝除了172.25.15.10主机以外的任何主机连接

Rich Rules

使用规则

firewall-cmd --remove-service=ssh (禁止访问ssh服务)

firewall-cmd --add-rich-rule='rule family="ipv4" source address="172.25.15.10" accept'

允许172.25.15.10主机所有连接。

firewall-cmd --permanent --add-rich-rule='rule protocol value=icmp drop' (禁止 ping )

丢弃所有icmp包

端口转发:(外网通过端????口转发连接内网)

325:开启地址转换功能

326:访问本机的80端口转发到15.10主机的22端口

伪装:(内网通过ip伪装访问外网)

要求:一台单网卡172.25.15.10。一台双网卡作为网关172.25.15.11 172.25.254.115

双网卡:firewall-cmd --add-masquerade

firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.25.254.115'

(地址伪装为254.115)

则单网卡机器 可以ping通 254网段

IPTABLES

Iptables -nL 查看策略

Iptables -t filter -nL 查看filter表的策略

Iptables -t nat -nL 查看nat表的策略

Iptables -F 刷新策略(清空)

Iptables-save > /etc/sysconfig/iptables (保存修改的策略)

如何写策略:

131行: 写入允许该主机连接任何端口

133行: 写入允许lo回环连接任何端口

135行:拒绝所有写入

137行:允许访问22端口

139行:删除INPUT里第4行

141行:插入允许访问22端口到第三行

143行:修改拒绝访问22端口在第三行

145行:删除第三行策略

策略有从上至下的顺序问题:拒绝所有访问在第三行,允许访问22端口在第四行,结果22端口不能被访问。因为策略的顺序问题

端口 主机 区域 策略 服务 地址 网卡 三行 接口 防火墙 配置 防火 参数 火墙 网络 问题 顺序 例子 功能 名称 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡豆 喔噻互联网科技有限公司 美国互联网科技巨头监管 互联网公司 科技公司 高科技与互联网 广州互联网络科技有限公司 广州善班互联网科技 互联网科技网站 衡水科技产业互联网平台 汉立互联网科技有限公司联系电话 济南和联互联网科技有限公司 中国的互联网科技企业的崛起 常德市电业局互联网科技部 重庆互联网医院沙龙医盟信息科技 互联网科技大奖都有哪些公司 电子科技大学互联网创业大赛 区块链结合互联网科技 中天科技中国工业互联网 张家口科技产业互联网平台 互联网科技创业有什么好项目 合肥互联网科技公司 广州宏创互联网科技 广州凡科互联网科技 科技互联网创业计划书 互联网科技视频素材 北京三清互联网科技 中国互联网公司排名锤子科技 洛阳共同富裕互联网科技有限公司 马化腾互联网科技教学 互联网科技创业有什么好项目
0