公開日: 2012年8月10日 13:41:16
最終更新: 2012年9月22日 13:35:16

Linux をブロードバンドルータ化する

Linux をブロードバンドルータ化する

Linux を インターネットへ接続するゲートウェイサーバとし、複数の PC で1つのインターネット接続を共有する方法について説明します。

IP マスカレード

クライアントPCのローカルアドレス(ex: 192.168.0.2)を、LINUX BOX のグローバルアドレスに変換することで、外部との通信を可能とします。外部からは、あたかも LINUX マシンがアクセスしているように見えます。ここでは、便宜上インターネット側の NIC を ppp0、LAN側の NIC を eth1 として説明します。
・まず /etc/sysctl.conf を編集し、IP転送を有効にしておきます。

net.ipv4.ip_forward = 0
↓
net.ipv4.ip_forward = 1

・ネットワークを再起動します。

・コマンドラインで確認。「1」が表示されればOK。

NAT(IP_MASQUERADE)の設定

POSTROUTING チェインに以下のコマンドでマスカレードを設定します。送信元がローカルアドレス 192.168.0.0/24 で、ppp0 から出て行くパケットを ppp0 に接続しているグローバルアドレスに書き換えます。

また、クライアントPCからLINUX マシン を通過するパケットと、それに関連するパケットを許可します。

DNATの場合

ファイアウォールの内側にあるホストへパケットを転送したいときに使用します。P2P サービスやオンラインゲームで遊ぶときなど、使用するポートの開放とともに、この宛先NATの設定を行う必要があります。

ppp0 から入ってきた宛先がポート80(HTTP) のパケットを LAN内の webサーバ 192.168.0.12 へ流す。また、ppp0 から入ってくる宛先がポート80 のパケットがルータサーバを通過することを許可する。

Path MTU Discovery Black Hole

フレッツADSLやBフレッツ などPPPoE環境では、特定webサイトにアクセスできなかったり、表示に時間がかかるなどの現象が発生することがあります。(Path MTU Discovery Black hole 問題) これを回避するためには次のルールを適用します。

フィルタリングルールの保存

iptables-save で現在の設定を /etc/sysconfig/iptables に保存します。サーバ再起動時にはこのファイルが読み込まれ、ファイアウォールルールが適用されます。