ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

firewalld 端口流量转发

firewalld 端口流量转发

需求说明

将本机 (IP: 192.168.174.100) 发往 192.168.174.165:443 的流量转发到 另一节点 192.168.174.149:20037(nginx 4层代理到192.168.174.165:443)

启用 IP 转发

# 节点IP: 192.168.174.100
sysctl -w net.ipv4.ip_forward=1

代理节点配置

# 节点IP:192.168.174.149
server {listen 20037;proxy_pass 192.168.174.165:443;}

配置防火墙规则

# 节点IP: 192.168.174.100# 使用直接规则添加 DNAT
sudo firewall-cmd --permanent --direct --add-rule ipv4 nat OUTPUT 0 -p tcp -s 192.168.174.100 -d 192.168.174.165 --dport 443 -j DNAT --to-destination 192.168.174.149:20037# 然后添加 SNAT 和 FORWARD 规则
sudo firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -p tcp -d 192.168.174.149 --dport 20037 -j SNAT --to-source 192.168.174.100
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 destination address=192.168.174.149 port port=20037 protocol=tcp accept'# 重新加载
sudo firewall-cmd --reload

验证配置

# 查看富规则
sudo firewall-cmd --list-rich-rules# 查看直接规则
sudo firewall-cmd --direct --get-all-rules# 查看所有规则
sudo firewall-cmd --list-all
返回列表