【教程】防火墙转发—firewalld简单介绍

好得大恩 大佬有话说 :

【教程】防火墙转发—firewalld简单介绍

本帖最后由 好得大恩 于 2024-3-17 01:32 编辑

转发前准备工作

1、Linux启用IP转发功能

echo "net.ipv4.ip_forward=1">>/etc/sysctl.conf
sysctl -p

2、firewalld 开启源地址转换

firewall-cmd–add-masquerade –permanent
firewall-cmd –reload

3、firewalld在转发前记得放行对应端口
firewall-cmd –permanent –add-port= <转发端口>/tcp

–add-forward-port 转发流量

1、命令行方式

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

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

# 刷新防火墙规则
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端口

<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<masquerade/>
<forward-port port="7007" protocol="tcp" to-port="3306" to-addr="xxx.xxx.xxx.xxx"/>
<forward-port port="7007-7999" protocol="tcp" to-port="6379" to-addr="xxx.xxx.xxx.xxx"/>
</zone>
修改之后记得重启firewalld防火墙或者刷新防火墙规则

systemctl restart firewalld
firewall-cmd –reload

firewalld富规则转发流量

可以转发IPV4,也可以转发IPV6,这里介绍转发IPV6流量
#开启ipv6源地址转换
firewall-cmd –permanent –add-rich-rule=’rule family=ipv6 masquerade’

#firewalld富规则转发ipv6
firewall-cmd –permanent –add-rich-rule="rule family="ipv6"forward-port port="源端口" protocol="tcp" to-port="目标端口" to-addr="""

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

<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<rule family="ipv6">
    <forward-port port="源端口" protocol="tcp" to-port="目标端口" to-addr=""/>
</rule>
<rule family="ipv6">
    <masquerade/>
</rule>
</zone>

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!