全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 480|回复: 1

[经验] 【教程】防火墙转发—firewalld简单介绍

[复制链接]
发表于 2024-3-17 01:16:08 | 显示全部楼层 |阅读模式
本帖最后由 好得大恩 于 2024-3-17 01:32 编辑

转发前准备工作

1、Linux启用IP转发功能

  1. echo "net.ipv4.ip_forward=1">>/etc/sysctl.conf
  2. sysctl -p
复制代码


2、firewalld 开启源地址转换

  1. firewall-cmd  --add-masquerade --permanent
  2. firewall-cmd --reload
复制代码


3、firewalld在转发前记得放行对应端口
  1. firewall-cmd --permanent --add-port= <转发端口>/tcp
复制代码


--add-forward-port 转发流量

1、命令行方式

此方式不支持转发IPV6流量
转发IPV6流量需要使用firewalld富规则

  1. firewall-cmd --zone=public --add-forward-port=port=<源端口号>:proto=<协议>:toaddr=<目标服务器IP>:toport=<目标端口号> --permanent

  2. # 刷新防火墙规则
  3. firewall-cmd --reload
复制代码


firewalld 命令会持久化在 /etc/firewalld/zones/public.xml 文件中

firewalld 转发命令容易写错,建议直接修改配置文件

2、firewalld 配置文件方式

可以通过修改firewalld配置文件,进行转发配置,等价于命令行(推荐使用此方式)

配置文件 /etc/firewalld/zones/public.xml

单端口转发 7007端口 转发 xxx.xxx.xxx.xxx 的 3306端口

批量端口转发 7007-7999端口 转发 xxx.xxx.xxx.xxx 的 6379端口

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <zone>
  3.   <short>Public</short>
  4.   <masquerade/>
  5.   <forward-port port="7007" protocol="tcp" to-port="3306" to-addr="xxx.xxx.xxx.xxx"/>
  6.   <forward-port port="7007-7999" protocol="tcp" to-port="6379" to-addr="xxx.xxx.xxx.xxx"/>
  7. </zone>
复制代码

修改之后记得重启firewalld防火墙或者刷新防火墙规则

  1. systemctl restart firewalld
  2. firewall-cmd --reload
复制代码


firewalld富规则转发流量

可以转发IPV4,也可以转发IPV6,这里介绍转发IPV6流量
  1. #开启ipv6源地址转换
  2. firewall-cmd --permanent --add-rich-rule='rule family=ipv6 masquerade'
复制代码

  1. #firewalld富规则转发ipv6
  2. firewall-cmd --permanent --add-rich-rule="rule family="ipv6"  forward-port port="源端口" protocol="tcp" to-port="目标端口" to-addr="[ipv6地址]""
复制代码


可以通过修改firewalld配置文件,进行转发配置,等价于命令行

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <zone>
  3.   <short>Public</short>
  4.   <rule family="ipv6">
  5.     <forward-port port="源端口" protocol="tcp" to-port="目标端口" to-addr="[ipv6_address]"/>
  6.   </rule>
  7.   <rule family="ipv6">
  8.     <masquerade/>
  9.   </rule>
  10. </zone>
复制代码


发表于 2024-3-17 02:20:28 来自手机 | 显示全部楼层
写的很好,不过我喜欢脚本
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-12 17:19 , Processed in 0.111660 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表