Zentyal 3.03(Ubuntu 12.04)LTSがインストールされているサーバーがあります。 3つのネットワーク装置があります:
- eth0 - DHCP高速インターネット(私が支払った)
- eth1 - 固定された遅いインターネット(学校では無料)
- eth2-LAN
SSH経由でサーバーに接続できますが、外部からLANサーバーに接続できません。ポート80にポート転送を設定しましたが、意味がありません。
私は以下を使用しました:
sudo iptables -A FORWARD -p tcp -i eth1 --sport 8888 -o eth2 -d 192.168.1.90 -dport 8888 -j ALLOW
何があなたに役立つのかわかりません。あなたに何を見せることができるか尋ねてください。
私を助けて他のStackexchangeウェブサイトに行かないでください。 (もう4回目です)
答え1
あなたは正しい方向で考えていますが、いくつかの誤ったルールを使用しています。
$ iptables -t nat -A PREROUTING -p tcp -d your_static_ip_of_eth1 \
--dport 8888 -j DNAT --to-destination 192.168.1.90:8888
このルールは、サーバーの宛先ポート 8888 とその eth1 インターフェースの宛先 IP に到着するすべてのトラフィックを内部 Web サーバーに転送します。サーバーがそのポートで応答するように80
ポート番号を変更するには、このオプションをポート番号に置き換えます--dport
。 Webサーバーのポートを変更するには、--to-destination
オプションのポートを変更してください。
システムセキュリティのために正しいiptablesルールセットを使用していると仮定しますが、完全性のために次のルールも考慮してください。
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth2 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -o eth0 -j ACCEPT
-A FORWARD -o eth1 -j ACCEPT
-A FORWARD -i eth2 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
また、ipv4 ルーティングを有効にする必要があるため、/etc/ufw/sysctl.conf を編集してコメントを削除してください。
net/ipv4/ip_forward=1