Ciscoのルーターを利用する機会も多くなりましたので、高性能な1812jをブロードバンドルーターのように設定する方法を紹介していきます。

まず、今回構築する環境はNTTのフレッツ光NEXT回線を利用して一般的なISPで使用するPPPOEを使いWAN側のIPアドレスを取得します。
ローカル側にはプライベートIPアドレスで利用し、一つのグローバルIPアドレスをつかってネットに接続できるようにPAT(CISCO用語)一般的にはIPマスカレード NAPTの設定を行います。

PPPOEを利用するインタフェース

まずPPPOEを設定する場合、どのインタフェースを利用してPPPOEを利用するかという設定を行う必要があります。IOSのバージョンにより2つのパターンにわかれます。

IOS12.4以前のルーター

============================================
・vpdnを有効にする
vpdn enable

・VPDNに名称をつける
vpdn-group 任意の名前

・PPPoEクライアントとして動作するように設定
request-dialin

・VPDNセッションの確立を要求する際にPPPoEを使用するように指定します。
protocol pppoe
============================================

IOS12.4以降のルーター

============================================
・PPPOEを利用するWAN側のインターフェースモードにする(この場合はfa0)
interface fastethernet 0

・インターフェース でPPPOEを利用する設定
pppoe enable

・dialer pool 1に所属するインターフェイスはpppoeを使って接続するように設定
pppoe-client dial-pool-number 1
============================================

PPPOEの設定

次にPPPOEのアカウント情報などを設定するためDialerというインタフェースを作成しその中に色々と設定していきます。

・ダイアラー1を作成する。
interface dialer 1

・IPの取得方法を設定
ip address negotiated (これはDHCPで取得する場合 固定IPの場合はnegotiatedの部分にIPとサブネットマスクを入れる)

・MTUの値を設定する 1454(NTTフレッツ光NEXTの場合)
mtu 1454

※よくMTUの設定を ip mtu 1454と記載しているコンフィグが多くみられますが、ip mtuコマンドはmtuの値のみ変更しmruの値は変更しません。 そのため、PPPセッションステージで AC からの mru=1454 の提案に対し、Cisco は mru=1500 と拒否します。フレッツ光NEXTやB フレッツ等は、ip mtu 1454というIPをつけたコマンドでも接続はできます。この理由はCisco から 5回 NAK を受信すると強制的にセッションを接続するという回線の仕様があるためです。つまり何回か失敗した後に接続されたという挙動になるため、無駄な動作が発生することからip mtu コマンドではなく mtu 1454 の設定を推奨します。

・TCPのMSSサイズを調整する

ルーターはパソコンから送信されてくるMSSを適正な値に書き換えてやる必要があります。そうしないとパケットが断片化されるからです。
ip tcp adjust-mss 1414

・ダイアラープールを作成 (先ほど作成したダイアラー1と紐付きます。)
dialer pool 1

・PPPOEのタイムアウト値を設定(0にすることによってタイムアウトの値を無期限に出来ます)
dialer idle-timeout 0

・グローバルコンフィグモードで定義する”dialer-list 1″と”dialer-group 1″の”1″をマッピング。dialer-list 1で定義したトラフィックがDialer1インターフェースから出ていくことにより、PPPoEセッションの確立要求が起動して、Dialer1インターフェースが “up/up” 状態となります。
dialer-group 1

・カプセル化をPPPに設定する
encapsulation ppp

・ISPとの認証方法を設定(CHAP)
ppp authentication chap callin

・PPPOEのIDを指定する
ppp chap hostname ISPのユーザー名

・PPPOEのパスワードを指定する
ppp chap password ISPのパスワード

・DNSサーバーアドレスをPPPOE(ISP)から自動取得する場合
ppp ipcp dns request accept

こちらでPPPOE側の設定は完了です。WAN側の認証がうまくいっているかどうかの確認は以下の通り。

show interface dialer 1とみるとWAN側のIPが表示されるか
sh pppoe sessionでport →Fa0  VT →Di1 State→UP  RemMAC→MACアドレスが表示されているか
sh ppp allでpeer addressの所にIPアドレスが表示されているかどうか
show ip int brief や show ip route でグローバルIPが表示されているか

Interface Virtual-AccessがUP downを繰り返す場合、認証方式の設定が間違っている可能性があります。たとえばPAP認証の設定が必要なのにCHAPにしている場合などが相当します。

ローカル側の設定

ここではローカル側の設定を行います。ローカル側はVLAN1にIPアドレスを振ってデフォルトのVLANが割り当てら得ているインタフェースはローカルIPを利用できるようにします。さらに、DHCPを有効にして自動的にIPを取得します。

VLAN1の設定

interface Vlan1
ip address 192.168.0.254 255.255.255.0 (ルーターのGWとなるIPアドレス ネットマスク)
no shutdown

DHCPの設定

・DHCPサービスを有効にする
service dhcp

・DHCPデータベースエージェントを無効にする
no ip dhcp conflict logging

・DHCPの除外IPを設定する場合
ip dhcp excluded-address 開始IPアドレス 終わりのIPアドレス (例 ip dhcp excluded-address 192.168.0.100 192.168.0.200)

・DHCPアドレスプールを作成
ip dhcp pool プール名

・インポートする
import all

・アドレスプールの範囲を設定する
network IPアドレス サブネットマスク (例network 192.168.0.0 255.255.255.0)

・デフォルトGWの設定
default-router GWのIPアドレス(最大8個)

・IPアドレスのリース期限
lease { days

[ hours ] [ minutes ] | infinite ]

・DHCPクライアントに通知するdomain-nameの設定
domain-name ドメイン名

・DNSサーバーの設定
dns-server DNSサーバーIP

ここまでで、WAN側の設定 LAN側のIPの設定とDHCPサーバーの設定まで完了しました。次はLAN側からWAN側にアクセス(インターネットが出来るようにする)するためのNATの設定を行います。

NATの設定

まず、NATを利用するIPアドレスの範囲をACLで指定します。今回はaccess-list 1で作成します。

access-list 1 permit 192.168.0.0 0.0.0.255

次に、NATのオーバーロード(PAT)の設定をします。

・アクセスリストからの通信はdialer 1を呼び出す(PPPOEの通信を開始する)設定
ip nat inside source list 1 interface dialer 1 overload

・PPPoE通信のきっかけとなるパケットを指定します
dialer-list 1 protocol ip permit

・ip nat insideをローカル側のVLAN1インタフェースに適用する
interface vlan 1
ip nat inside

・ip nat outsideをWAN側のインタフェースに適用する
interface dialer 1
ip nat outside

デフォルトルートの設定

LANとWANのつなぎ込みは出来ましたが、デフォルトルートの記載が無いとネットにつながらないため以下のように設定する。

PPPOEでWAN側のIPが自動取得の場合はdialer 1にする。(permanentはリンクがダウンした時でもスタティックルートが削除されないようにするオプション)

ip route 0.0.0.0 0.0.0.0 dialer 1 permanent

WAN側のIPが固定の場合はIPアドレスを入れる
ip route 0.0.0.0 0.0.0.0 WANのIPアドレス permanent

ルーターをDNSサーバーにする

大抵のブロードバンドルーターはルーターがDNSサーバーとしての役割をしています。設定は以下の通り。

・DNSサーバーの機能を有効にする
ip dns server

ルーターがDNSサーバーに名前解決するように設定
ip domain lookup

ルーターが参照するDNSサーバーのアドレスを指定
ip name-server 8.8.8.8
ip name-server 8.8.4.4

※ コマンドの入力ミスの際のレスポンスUPのためにno ip domain lookupとかしていると名前解決できませんよ。

少し長くなりましたが、以上でWAN側PPPOEの設定からLAN側のIPアドレスの設定 NAT PATの設定と DNSサーバーの設定 デフォルトルートの設定でした。

接続が正常に出来ているかの確認手順としては・・・・

1:show interface dialer1 でWAN側のグローバルIPアドレスが表示されているかどうか
2:インターネット接続した場合、通常であればNAT/PAT変換されているかどうかを show ip nat translations で確認できるかどうか
3:また、LAN側に適用されたアクセスリスト(今回は1番)にトラフィックが合致しているかどうかを show ip access-lists でカウントされているか
4:show ip route でスタティックルートでデフォルトルートがDialer1になっているかどうか S*    0.0.0.0/0 is directly connected, Dialer1
5:ルーターのGWとVLAN1がルートに登録されているか

しかし、この状態ではFWの設定はされていないままのため大変危険です。外部からの不正アクセスをブロックする方法などACL関連は次の記事で紹介します。