FreeBSD QandA 2341
Q. 複数の ISP と契約し、FreeBSD をルータとして接続した時にルーティングが
うまく行きません。
ISP0 ISP1
| |
| |
|if0 |if1
+-------------+
| FreeBSD Box |
+-------------+
上記のような構成で、Default Gateway を ISP0 側に設定しました。この状態
で外部ネットワークからアクセスすると
・if0 に振っている IP アドレスにアクセスすると問題なくつながります。
・if1 に振っている IP アドレスにアクセスすると繋がりません。
Default Gateway を ISP1 側に設定して外部ネットワークからアクセスすると
・if0 に振っている IP アドレスにアクセスすると繋がりません。
・if1 に振っている IP アドレスにアクセスすると問題なくつながります。
最初の構成に戻して tcpdump(1) で調べたところ外部ネットワークから if1 に
振っている IP アドレスにアクセスすると、戻りのパケットが if0 から送出し
ているのが確認できました。どうやら、if1 のアドレスは ISP0 でフィルター
されているようです。
if1 にアクセスされたときに if1 からパケットを送出するようにするにはどの
ようにすれば良いのでしょうか 。
A. ipfw(8) の fwd をつかって下さい。Default Gateway が ISP0 に向いている場合、
# /sbin/ipfw fwd {ISP1 Gateway address} from {if1 のアドレス} to not {if0のネットワークアドレス}
とすれば if1 へのアクセスの戻りのパケットは ISP1 に向かって送出される
ようになります。
なお ipfw の使い方に関してはハンドブックや ipfw(8) などご参照下さい。
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。