我需要将端口 8080 重定向到我的 linux 服务器上的端口 80。我的问题是一样的: https ://askubuntu.com/a/579540
唯一的区别是我没有 iptables - 有没有办法用 firewalld 做到这一点?
编辑:现在我知道 firewalld 使用 iptables 并且可以使用以下命令通过 firewalld 将命令传递给 iptables:
firewall-cmd [--permanent] --direct --add-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>
我有:
- 运行在 8080 端口的 HTTP 服务器
- 端口 80 重定向到 firewalld 中的 8080(区域公共)
- 通过 80 端口访问的其他计算机的客户端可以访问 HTTP 服务器
- 我可以从运行服务器的同一台计算机访问端口 8080 上的服务器
我也要:
- 从运行服务器的同一台计算机访问端口 80 上的服务器
我试过了:
- 将接口“lo”添加到区域“public”
- 以与区域“public”相同的方式配置区域“trusted”
区域“公共”配置:
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="snmp"/>
<service name="http"/>
<service name="ssh"/>
<service name="https"/>
<icmp-block name="redirect"/>
<icmp-block name="router-solicitation"/>
<icmp-block name="parameter-problem"/>
<icmp-block name="router-advertisement"/>
<forward-port to-port="8080" protocol="tcp" port="80"/>
</zone>
错误:
#wget "192.168.100.42:80"
--2016-12-01 16:02:29-- http://192.168.100.42/
Connecting to 192.168.100.42:80... failed: Connection refused.
#wget "192.168.100.42:8080"
--2016-12-01 16:06:37-- http://192.168.100.42:8080/
Connecting to 192.168.100.42:8080... connected.
HTTP request sent, awaiting response... 302 Found
...
HTTP request sent, awaiting response... 302 Found
...
HTTP request sent, awaiting response... 302 Found
...
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’
...
2016-12-01 16:06:37 (69.8 MB/s) - ‘index.html’ saved [4785]
#wget "localhost:80"
--2016-12-01 16:02:12-- http://localhost/
Resolving localhost (localhost)... 127.0.0.1, ::1
Connecting to localhost (localhost)|127.0.0.1|:80... failed: Connection refused.
Connecting to localhost (localhost)|::1|:80... failed: Network is unreachable.
#wget "localhost:8080"
--2016-12-01 16:06:29-- http://localhost:8080/
Resolving localhost (localhost)... 127.0.0.1, ::1
Connecting to localhost (localhost)|127.0.0.1|:8080... failed: Connection refused.
Connecting to localhost (localhost)|::1|:8080... failed: Network is unreachable.
编辑:解决方案: 服务器根本没有监听环回接口。