
私は Ubuntu 13.10 サーバーと登録済みドメイン名を持っています。192.168.24.1 マシンに Web サーバーがあり、192.168.24.2 に FTP サーバーがあります。
Iptables を使用すると次のようになります:
1) 書く人:http://mydomainname.com192.168.24.1 にリダイレクトされる
2) 私の FTP (FileZilla または mydomainname を入力するもの) を使用したい人は、192.168.24.2 にリダイレクトされます。
ご回答をよろしくお願いいたします!
答え1
あなたのトポロジーが分からないので正確な答えは出せない
ケース1.
__________________
| |
| PC |-------|
| 192.168.24.1 | | _____________
------------------ |_____| | __________
| | ip_tables | | |
| | PC |--| router |--- internet
__________________ | | | | |
| | | ------------- ----------
| PC |-------|
| 192.168.24.2 |
------------------
このトポロジではiptablesが必要です
ケース2.
__________________
| |
| PC |-------|
| 192.168.24.1 | |
------------------ | __________
| | |
|--| router |
__________________ | | |
| | | ----------
| PC |-------|
| 192.168.24.2 |
------------------
iptables は必要ありません。ルーターでポート転送を行う必要があります。
- ポート 80 は http 用 -> 24.1
- ポート443はhttps用です -> 24.1
- ポート20はFTPデータ転送 -> 24.2
- ポート 21 FTP 制御 -> 24.2
また、ルーターの WAN インターフェイスのパブリック IP アドレスを修正する必要があります。次に、DNS レコードを作成する必要があります。DNS は論理名 (別名 mydomainname.com) を IP アドレスに解決し、IP アドレスを論理名に解決します。
192.168.xx 範囲は IP アドレスのプライベート範囲なので、インターネット経由でルーターになることはできません。
トラフィックフローは次のとおりです。
- PCのブラウザにmydomainname.comと入力します
- PCはDNSにmydomainname.comをIPに解決するよう要求する
- PCにIPがある場合、指定されたIPにhttp/httpsリクエストを送信します。
- ウェブサーバーが応答し、リクエスト元にトラフィックを送信する
IPアドレスプラン:
PC [private ip}
-> router with private address on LAN and public ip on WAN. Router do NAT
->internet [only public ip address
編集2
サーバーが24.1経由で24.2にNATを実行している場合は、フォローが機能します。
まず最初にIP転送を有効にします。これは、
echo "1" > /proc/sys/net/ipv4/ip_forward
または
sysctl net.ipv4.ip_forward=1
次に、ポート21のトラフィックをポート21のIP 192.168.24.2に転送するように指示するルールを追加します。
iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to-destination 192.168.24.2:21
次に、ポート20のトラフィックをポート20のIP 192.168.24.2に転送するように指示するルールを追加します。
iptables -t nat -A PREROUTING -p tcp --dport 20 -j DNAT --to-destination 192.168.24.2:20
そして最後に、IPtablesにマスカレードを依頼します
iptables -t nat -A POSTROUTING -j MASQUERADE