linuxマシンのルータ化 その3 iptablesの設定(IPマスカレード)

前回でpppoeでの接続ができるようになりました。今回はiptablesを設定することで、ルータ配下の端末がインターネットに出られるようにします。

Step1 NIC間の転送の設定

/etc/sysctl.confファイルのnet.ipv4.ip_forwardの値を0から1に変更します。変更しただけでは設定が反映されないことに注意してください。

# Controls IP packet forwarding
#net.ipv4.ip_forward = 0
net.ipv4.ip_forward = 1

以下のコマンドで上の設定を有効化します。

# sysctl -p

Step2 IPマスカレードの設定

WAN側に接続しているポートが、eth0の場合でインターネットに出られるようになります。
ただし、デフォルトゲートウェイをeth0のIPアドレスに設定する必要があります。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Step3 接続確認

WindowsからgoogleDNSサーバへの接続確認です。無事に接続できている模様。
あとはpppoeのログからDNSサーバのアドレスを取得して設定すれば、きちんとWebページが表示されます。一応これでもルータとして機能はしていますが、セキュリティ的な設定がないので、このままでは非常に危険な状態です。次回はそちらの設定を行います。

C:\Users\test>ping 8.8.8.8

8.8.8.8 に ping を送信しています 32 バイトのデータ
8.8.8.8 からの応答: バイト数 =32 時間 =17ms TTL=52