特定ポートのみ裏回線

マルチホーミングネタ。

表回線はネットワーク型接続のグローバルIP8サービス。 ルーティングのできるADSLルータで接続。
裏回線は端末型接続のグローバルIP1サービス。NATとポートフォワード しかできないADSLぶろ〜どばんどる〜た。

こんな状況

というところに裏回線を追加で引いた。サーバから足をもう一本 出して裏回線用のルータに繋げた。ADSLが安くなったのでそろそろありがちな 状況と言えよう。その場合に、表回線のトラフィックを節約する目的で、

なんて風にしてみよう。サーバは、FreeBSD+ipfw。裏回線の 「ぶろ〜どばんどる〜た」にはNAT機能はあるものとする。

試行錯誤を繰り返したら、意外に簡単な結論。

  1. サーバのnatdは要らなくなる
  2. サーバのグローバルアドレスを始点とするSSH,HTTPを裏回線ルータに フォワード
  3. プライベートLANのアドレスを始点とするパケットを裏回線ルータに フォワード

とすればOK。2は、

# ipfw add fwd 裏回線内部IPアドレス \
    tcp from サーバのIPアドレス to any 22,80 via 表回線のインタフェース

でよく、3は、

# ipfw add fwd 裏回線内部IPアドレス \
    ip from プライベートLAN/mask to not プライベートLAN/mask

でよい。注意が必要なのは、裏回線のルータからグローバルエリアの ネットワークとプライベートLANのネットワークに到達できるように ルーティングしておかないと、NATの帰りパケットが届かないことである。

裏回線のルータでNATをやらない場合はどうなるんだろうな。 natdって挙動がなかなか読めなくて難しい。


Generated with mkdiary.rb
yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]