web-dev-qa-db-ja.com

m0n0wallでIPv6をポートフォワードする方法は?

M0n0wallでIPv6パケットをポート転送するにはどうすればよいですか?

たとえば、ルーターのポート443に到着したトラフィックを別のIPv6アドレスに転送したいとします。

  • インターフェース:WAN
  • プロトコル:TCP
  • 外部ポート範囲:443
  • 宛先アドレス:2607:f8b0:4009:801 :: 1053
  • 宛先ポート範囲:443
  • 説明:httpsは安全なサーバーに移動します

または他の種類のサービスの場合:

  • インターフェース:WAN
  • プロトコル:TCP + UDP
  • 外部ポート範囲:3784
  • 宛先アドレス:2607:f8b0:4009:801 :: 1058
  • 宛先ポート範囲:3784
  • 説明:Ventrilo

IPv6はNATの必要性を排除します。しかし、どのようにポートフォワードしますか?


ボーナス質問

M0n0wallでIPv4をポートフォワードするにはどうすればよいですか?

たとえば、ルーターのポート443に到着したトラフィックを別のIPv4アドレスに転送したいとします。

  • インターフェース:WAN
  • プロトコル:TCP
  • 外部ポート範囲:443
  • 宛先アドレス:74.125.225.53
  • 宛先ポート範囲:443
  • 説明:httpsは安全なサーバーに移動します

または他の種類のサービスの場合:

  • インターフェース:WAN
  • プロトコル:TCP + UDP
  • 外部ポート範囲:3784
  • 宛先アドレス:74.125.225.58
  • 宛先ポート範囲:3784
  • 説明:Ventrilo

私は方法を知っています[〜#〜] nat [〜#〜]プライベート内部アドレスに、しかし私のサーバーはNATプロキシの後ろにありません-それらは直接ですインターネットに接続されており、それぞれが公的にルーティング可能なIPv4アドレスを持っています。

74.125.225.53

住所を1つだけ知ってもらいたいのですが、例:

superuser.com -> 64.34.119.12

しかし、私のm0n0wallルーターにパケットを適切なマシンに転送させます。

無関係なボーナスのおしゃべり

iPv6を使用してインターネットに直接接続され、ポート80でリッスンしているWebサーバーがあります。

昔は、私は人々に1つのアドレスを与えていました:

superuser.com

そのアドレスはルーターに解決され、ルーターはパケットを適切なマシンに転送します。

しかし、IPv6の出現と、NATの削除により、アドレス名のユーザーに名前を付けることはできなくなりました。例:

  • http://superuser.com
  • irc://superuser.com
  • ftp://superuser.com
  • news://superuser.com
  • https://superuser.com
  • ventrilo://superuser.com
  • torrent://superuser.com

動作しません。それはsuperuser.com同じIPv6アドレスに解決されます。例:

2607:f8b0:4009:801::100e

そして、他のサーバーは他のアドレスにあります:

http      -> 2607:f8b0:4009:801::1031
irc       -> 2607:f8b0:4009:801::1041
ftp       -> 2607:f8b0:4009:801::1059
news      -> 2607:f8b0:4009:801::1026
https     -> 2607:f8b0:4009:801::1053
ventrilo  -> 2607:f8b0:4009:801::1058
torrent   -> 2607:f8b0:4009:801::1097

そのため、ユーザーは他のアドレス名を記憶する必要があります。例:

www.superuser.com
wwws.superuser.com
ventrilo.superuser.com
torrent.superuser.com
irc.superuser.com
news.superuser.com

シングルではなく:

superuser.com

全てにおいて。

私は1つだけ知っている必要があるのが好きです名前。もう一度欲しいです。どうすれば元に戻すことができますか? IPv6でポートフォワードするにはどうすればよいですか?


アップデート2

もう1つの問題は、複数のホスト名が同じサーバーであると想定されている場合です。

http://www.superuser.com:80
http://m.superuser.com:80
http://mobile.superuser.com:80
http://english.superuser.com:80
http://spanish.superuser.com:80
http://latin.superuser.com:80
...

私が本当に欲しいのはただ:

*.superuser.com

同じアドレスに解決するには、および:80はサーバーに転送されます。

2
Ian Boyd

あなたが探しているのはロードバランサーかもしれないと思います。しかし、m0n0wallに1つあるとは思いません。

1
Tonny Pedersen

最初の部分

IPv6にはNATはありません(または少なくともあるべきではありません)。したがって、ポートを転送することはありません。使用しているポート変換と同等の方法を実行するためのオプションがいくつかあります。 IPv4で:

  1. ポートを変換する必要がないように、宛先マシンで同じポートを使用します(これはあなたが行っているように見えます)。そのポートへのアクセスを許可するには、ファイアウォールルールを作成するだけで済みます。住所の翻訳も必要ありません。
  2. ポートプロキシを使用して、TCPまたはUDPポートとアドレスを変換します。静的NAT基本的に。

ボーナスパート1

NAT)のないIPv4でも、NATのないIPv6に関する上記の応答とまったく同じ状況です。

ボーナスパート2

ポートに基づくルーティングはお勧めしません。ポート番号に基づくルーティングは、ネットワーキングのパラダイムに反します。ルーティングはアドレスに基づく必要があります。そして、そのアドレスはDNSに基づいている可能性があります。 SRVレコードと呼ばれるサービスとポートを指定するDNSの拡張機能がありますが、すべてのサーバー(HTTPやSSHなど)に存在するわけではありません。

ポートでルーティングする必要がある場合は、ポートプロキシを使用して、特定のTCPまたはUDPサービスを他のマシンにリダイレクトできます。

結論:

ポートに基づいてルーティングしないでください。アドレスに基づいてルーティングしてください。申し訳ありませんが、サービスごとに個別のDNSエントリが必要です。

1
Nick Whaley