CentOS6.5で
- ルーター化する
- NAT(マスカレード)機能を持たせる
という要求に応えてみた。
ルータ化
以下コマンドを実行する。永続的な設定にはならない。これは再起動したらもとに戻る。
echo 1 > /proc/sys/net/ipv4/ip_forward
永続的な設定にするには以下コマンドを実行すれば良い。
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p
スタティックルートの追加
一時的に経路情報を追加するならコマンド一発でOK
書式:
ip route add <network address/prefix> via <next-hot> dev <interface-name>
例:
ip route add 192.168.10.0/24 via 192.168.1.254 dev eth1
永続的に経路情報を追加するには「/etc/sysconfig/network-scripts/route-<interface-name>」をviエディタ等で編集して、経路情報を追記。
書式:
<target-address> via <gateway-address> dev <interface>
例:
192.168.10.0/24 via 192.168.1.254 dev eth1
NAT機能(アドレス変換)
ソースnat(IPマスカレード)についてはiptablesコマンドで対応する。
書式:
iptables -t nat -A POSTROUTING -o [outgoing i/f] -s [internal_ip] -j MASQUERADE
説明:
outgoing i/f : 出力側インターフェース(eth1など)
internal_ip : 送信元IPアドレス。「/24」などネットワーク指定が一般的。ホストアドレスも可。
POSTROUTING : ルーティング後にnatを実行。
MASQUERADE : IPマスカレード(ソースポート番号変換)を実施。