PPPoE で固定 IP アドレスを 4 つ使う

スポンサーリンク

フレッツ光プレミアム (NTT 西日本) で固定 IP アドレスが 4 つもらえるプロバイダを契約し,CentOS 5.6 による Linux ルータで PPPoE して使う方法のメモ。 本当は /29 をもらって unnumbered したかったのだが,予算の都合で 4 個になった。

今回の場合,unnumbered すると,ネットワークアドレスとブロードキャストアドレスで 2 つ消費されて残りの 2 つしか使えなくなってしまう。そこで,LAN 型接続という方法で接続し,NAT によりアドレス変換を行なう。

あらかじめ CTU の PPPoE ブリッジ機能 (デフォルトでは無効) を有効にし,adsl-setup コマンド等で PPPoE の接続設定を済ませておく。

仮想ブリッジと仮想 NIC を使えるようにする。

# yum install -y bridge-utils
# rpm -ivh tunctl-1.5-2.el5.x86_64.rpm

仮想ブリッジ (br0) を設定する。

# cd /etc/sysconfig/network-script/
# cp ifcfg-eth0 ifcfg-br0
# vi ifcfg-br0
DEVICE=br0
TYPE=Bridge # (Bは大文字)
#HWADDR=XX:XX:XX:XX:XX:XX
  :
# vi ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
BRIDGE=br0
  :
# /etc/init.d/network restart

PPPoE 用の仮想 NIC (例: ppp0) が使用する NIC を br0 に変更する。

# ifcfg-ppp0
  :
ETH=br0
  :

仮想 NIC を設定するシェルスクリプトを作成する。 (ISP から割り当てられたアドレスを XXX.XXX.XXX.A-D とする)

# vi ~/tap.sh
#/bin/sh

tunctl -t tap0
tunctl -t tap1
tunctl -t tap2

brctl addif br0 tap0
brctl addif br0 tap1
brctl addif br0 tap2

ifcfg tap0 XXX.XXX.XXX.B NETMASK 255.255.255.0
ifcfg tap1 XXX.XXX.XXX.C NETMASK 255.255.255.0
ifcfg tap2 XXX.XXX.XXX.D NETMASK 255.255.255.0

サブネットマスクを /30 にすると A と D が使えなくなってしまうので,/24 としている。

# sh tap.sh

以上の手順により,Linux ルータで 4 つの固定グローバル IP アドレスを使用できるようになった。あとは LAN 内のサーバ等に対して,NAT によりアドレスを割り当てれば良い。

コメント

タイトルとURLをコピーしました