请教 firewalld 的端口转发
- 0次
- 2021-06-30 09:17:11
- idczone
Nginx 服务 监听 IP 0.0.0.0 端口 80
开了一个 tun,10.0.0.1/24
HAProxy 监听 10.0.0.2 端口 80,后端 10.0.0.1 端口 80
想实现:外部请求 80 -> 10.0.0.2:80 -> 10.0.0.1:80 (localhost:80)
```
firewall-cmd --zone=public --add-service=http
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toaddr=10.0.0.2
```
用 80 端口连接,不通。
但是如果用一个新端口:
```
firewall-cmd --zone=public --add-forward-port=port=81:proto=tcp:toaddr=10.0.0.2:toport=80
```
用 81 连接,通。
请问这个是什么原因造成的?被原端口干扰了吗?请问这个应该怎么处理
我感觉你的问题没有描述清楚,firewalld、haproxy、nginx 是分别跑在不同服务器上呢还是怎么地。。。
同一服务器上,通过 tuntap 创建的虚拟网卡
sysctl net.ip.forwarding 开了么
上面加上 toport 呢?
iptables-save 看看实际规则的是什么
add service 可能是问题原因
应该不是这个原因,如果我关掉 80 端口也是不通的
是不是因为 没指定 网络接口, 而将 tuntap 对应的网络接口也包含在内了。 从而对 tuntap 对应的网络接口 也应用了 firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toaddr=10.0.0.2 这条规则
哦!估计是,那么就是说需要指定接口了,我试试
yum purge firewalld
yum install iptables
然后你就会操作了,你是想用 bbr 加速吗?
主要是想学学 firewalld,用 iptables 不是我的本意
一个很好的简单教程 http://www.excelib.com/article/287/show/
我是看这个入门的