Nat iptables 尝试访问 Linux 网络后面的 SQL Server

Nat iptables 尝试访问 Linux 网络后面的 SQL Server

我已经挣扎了一段时间了,似乎无法解决这个问题。

我们在互联网上有一个服务器,称之为 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。

再次谢谢你

相关内容