現在、ポート80でNASボックスを実行しています。外部からNASにアクセスするには、次のようにポート8080をNASのポート80にマッピングします。
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 10.32.25.2:80
これは魅力のように機能しています。ただし、これが機能するのは、ネットワークの外部(職場、別の家など)からWebサイトにアクセスしている場合のみです。したがって、「」と入力するとmywebsite.com:8080
、IPTablesが正しく機能し、すべてが正常に機能しています。
さて、私が抱えている問題は、ネットワークの内部からこのポートをリダイレクトする方法を教えてください。ドメイン名mywebsite.com
は内部(10.32.25.1)からルーター(私のLinuxサーバー)を指していますが、内部から10.32.25.2のポート8080にポート8080をリダイレクトします。
どんな手掛かり?
#1を編集
この質問を容易にするために、私はこの図をまとめました。お探しの情報が間違っていたり、誤って表示されている場合は、遠慮なく更新してください。
iptables
| .---------------.
.-,( ),-. v port 80 |
.-( )-. port 8080________ | |
( internet )------------>[_...__...°]------------->| NAS |
'-( ).-' 10.32.25.2 ^ 10.32.25.1 | |
'-.( ).-' | | |
| '---------------'
|
|
__ _
[__]|=|
/::/|_|
10.32.25.1:8080
リダイレクトしたいと思い10.32.25.2:80
ます。上記の私のルールは外部から機能していますが、ネットワークの内部からは機能していません。そのため、オフィスにいる場合は、website.com: 8080 からNASにアクセスでき、完全に透過的です。私の家から、website.com:8080は10.32.25.1を指しています。ポート8080もNASにポート80でリダイレクトしますが、これも透過的な方法で行います。
eth0 10.32.25.2
、インバウンドインターフェイスに基づいてiptablesの使用を記述できるようにします