IPマスカレードを動かす!

NICの二枚挿しも無事終了したことですしNIC二つのIPセグメント間をマスカレード出来るようにIPマスカレードの登録を行います。

IPマスカレードの設定について書いてあるサイトを参考にしました。

IPマスカレードルータの構築

vi /etc/init.d/ip-masq

スクリプトの登録をします。

----------------------

#!/bin/sh
#
# iptables を用いてルーティングを行う
# シェルスクリプト
#

# IP フォワーディングを有効にする
echo 1 > /proc/sys/net/ipv4/ip_forward

# テーブルの初期化
iptables -t filter -F FORWARD
iptables -t nat -F POSTROUTING
iptables -t nat -F PREROUTING

# POSTROUTING, PREROUTING ともにアドレス変換を許可
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

# フィルタの設定: 通過許可
iptables -t filter -P FORWARD ACCEPT

# 内部から外部への IP マスカレードを許可
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# ftp 通信用のモジュールのロード
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp

----------------------

起動時にスクリプトを実行する為に/etc/init.d/ip-masqをrc.localに登録した。

これで追加したNICデバイスのIPからLS-GL搭載のNICデバイスのIPへマスカレードが出来るはずである。
(設定上逆は出来ないはず)
クライアントのgatewayに追加したNICのIPアドレスを設定すればWAN側にもアクセス可能です。
(eth0がWANに繋がっていれば)
但しDNSの取得が追加したIPからは行えないのでDNSはプロバイダ提供のDNSのIPを指定する必要がります。
※今後LS-GLにDNSサーバー&DHCPサーバーの設置を考えています。この二つを動かせば完全ルータ化が完了します。
※DNSサーバーのアプリの選定などを行っていますのでそちらはもう少しお待ちください。

debianでは基本的にiptables関連の初期化は/etc/network/interfaces内に
if-upやpre-up、upなどを使ってネットワークデバイスの起動と連動させるのが一般的なようです。
(以前の記事のIPフィルターも同様にするのが望ましいようです)
ただ今回はNIC二枚でサーバーを運用しているのでどちらと連動させるかや
二重に連動したりしないかなど不安要素も多かったので起動時に1回だけ実行するようにしています。

この辺りの動きが今後完全に掴めたらinterfaces内に移行するかもしれません。
本来はデバイスの起動と連動しないとデバイス起動とスクリプト適用のその僅かな時間に
セキュリティが弱い時間帯が存在するので理解されている方はデバイス連動にすると思いますしすべきだと思います。

コメントを残す

メールアドレスが公開されることはありません。