私はしばらくこの問題に苦しんでおり、この問題を解決できないようです。
インターネットには1つのサーバーがあり、これをIREと呼び、Linuxネットワークの後ろに2番目のサーバーがあります。これをPULといいます。
xxx.xxx.xxx.118
我々は、PULがサーバー上にある外部IPを持っています。 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 にアクセスできるようになりました。
もう一度ありがとう