我已经挣扎了一段时间了,似乎无法解决这个问题。
我们在互联网上有一个服务器,称之为 IRE 我们在 Linux 网络后面有第二个服务器,我们称之为 PUL
我们有一个外部IP xxx.xxx.xxx.118
,其中PUL位于服务器PUL的内部IP是192.168.0.178
我们想从 IRE 连接到 PUL 上的 SQL
我已将以下规则添加到 iptables(ubuntu 服务器)
iptables -A PREROUTING -t nat -i eth0:1 -p tcp --dport 15433 -j DNAT --to 192.168.0.187:15433 iptables -A INPUT -p tcp -m state --state NEW --dport 15433 -i eth0:1 -j ACCEPT
我删除了,但也尝试添加-d xxx.xxx.xxx.118
来解决,但我添加或更改的任何内容都不允许 IRE 查看 PUL 的数据库。
我可以采取什么步骤让 IRE 的服务器看到 PUL?
答案1
通常的情况是这样的:
yyy.yyy.yyy.yyy | IRE
Internet
xxx.xxx.xxx.118 | GW (wlan) gateway/modem external ip
192.168.0.1 | GW (eth) gateway/modem internal ip
Internal
192.168.0.178 | PUL
At GW wlan / external, incoming interface (INPUT)
- You need to allow the port
(Maybe even from specific source yyy.yyy.yyy.yyy IP only)
- You need incoming port forwarding (NAT) to 192...178:14533
At GW wlan / external OUTPUT
- You probably already have outgoing non specific port NAT
At PUL you may need another rule to allow port 14533
因此,除非您的 PUL 服务器是互联网本身的网关,否则您可能将规则放在了错误的位置。我假设情况并非如此,正如您所说,您的 SQL 服务器“落后”。
答案2
感谢所有的评论和建议,我终于让它工作了,不知道我是如何错过它的,我删除了所有规则,只添加了这一行: iptables -A PREROUTING -t nat -p tcp -d xxx.xxx.xxx.118 - -dport 15433 -j DNAT --to 192.168.0.187 第一次工作,现在已排序我可以从 IRE 服务器访问 SQL Server。
再次谢谢你