中二病でも繋げたい
以前、あるイベントで回線契約をして、もらった接続情報を元にルータを設定しようとした時に遭遇したトラブルを今回出題しました。
問題文
問題文は以下の通りです。
あなたはある企業の情報システム部に所属しています。上司から「今の回線遅いから新しいのに変えといて」と言われたため、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チームでした。難易度的には適切だったのかなと思います。