以前、あるイベントで回線契約をして、もらった接続情報を元にルータを設定しようとした時に遭遇したトラブルを今回出題しました。
問題文
問題文は以下の通りです。
あなたはある企業の情報システム部に所属しています。上司から「今の回線遅いから新しいのに変えといて」と言われたため、Aさんが新しくプロバイダと契約し、上に記載した/32のIPアドレスとPPPoEの接続情報をもらいました。Aさんはその接続情報を元に`CSR_client`にPPPoEとNATの設定を行なったんですが、上の図の`ubuntu`から外部のwebサービスを利用しようと思ったけど繋がりませんでした。`CSR_client`で接続を確認したところPPPoEのセッションは張れていることが確認できたんですが、依然として外部のサービスを利用できません。Aさんの代わりにこの原因を突き止め解決してほしいです。
初期状態と終了状態
初期状態
- ubuntuから外部ネットワークに繋がらない
終了状態
- ubuntuから外部ネットワークに繋がる
解説
今回発生していた問題はインターフェースの設定にありました。 プロバイダから受け取った/32のIPアドレスはGigabitEthernet
に設定できません。そのため、/32のIPアドレスを設定できるLoopbackを用いる必要があります。 初期状態で不足している、または間違っているコンフィグは以下の3つです
- Loopbackのインターフェースがない
- ip nat ousideがDialerに設定されていない
- NAPTの設定が間違っている(1.に起因するもの)
CSR-clientの初期状態は以下のコンフィグになっていました。
interface GigabitEthernet1 no ip address ip nat outside duplex auto speed auto pppoe enable pppoe-client dial-pool-number 1 ! interface GigabitEthernet2 192.168.51.254 255.255.255.0 ip nat inside duplex auto speed auto ! interface Vlan1 no ip address ! interface Dialer1 no ip address encapsulation ppp dialer pool 1 dialer-group 1 ppp authentication chap callin ppp chap hostname XXXXXXXXXXXXXXXXXXX ppp chap password 0 XXXXXXXXXXXXXXXXX ! ip nat inside source list 1 interface GigabitEthernet1 overload
上記の問題を解決したコンフィグが以下の通りです。
interface Loopback0 ip address xxx.xxx.xxx.xxx 255.255.255.255 ! ! interface GigabitEthernet1 no ip address ip virtual-reassembly duplex auto speed auto pppoe enable group global pppoe-client dial-pool-number 1 ! ! interface GigabitEthernet2 ip address 192.168.51.254 255.255.255.0 ip nat inside ip virtual-reassembly duplex auto speed auto ! ! interface Dialer1 ip unnumbered Loopback0 ip nat outside encapsulation ppp dialer pool 1 dialer-group 1 ppp authentication chap callin ppp chap hostname XXXXXXXXXXXXXXXXXXX ppp chap password 0 XXXXXXXXXXXXXXXXX ! ip forward-protocol nd ! ip http server no ip http secure-server ! ip nat inside source list 1 interface Loopback0 overload ip route 0.0.0.0 0.0.0.0 Dialer1 ! access-list 1 permit any
このコンフィグを入れてubuntuからpingを8.8.8.8に送ると以下のように通ってることが確認できます。
採点基準
- Loopbackを用いて/32のipを設定している(10%)
- GigabitEthernet1からip nat outsideが外れている(10%)
- ip unnumberd loopbackがdialerに設定されている(20%)
- ip nat outsideがDialerに設定されている(10%)
- ip nat inside source list
list-number
interface loopbacklist-number
overload が設定されている(20%) - ubuntuから1.1.1.1などの外部サービスにpingが通る(30%)
講評
お詫び
あるチームで展開に失敗している環境がありました。環境の不備をお詫びします。
解答について
みなさんIPアドレスを設定する時に、Dialerに/31
を設定しているチームがありました。しかし、問題文にもらった接続情報を使って設定してくださいと明記していなかったため、そのように設定しているチームは点数を与えました。
15チーム中、12チームが解答し満点は6チームでした。難易度的には適切だったのかなと思います。