ルータ置換計画発動(自宅編、NVR700W→IX2215)

IX2215

自宅ルータを NVR700W から IX2215 へ変更する。ひととおり動作確認を終えたので詳細をメモとして記載しておく。

引継できた機能

現在のところ以下の機能の引継ができている.

  • PPPoE
  • NAPT およびサーバ公開、ヘアピン NAT
  • MAP-E
  • 実家~自宅間 VPN(IPsec-ikev2)
  • DHCPv4 サーバ(mac アドレスで配布IPアドレス固定)
  • ひかり電話(IX2215 と並列に NVR)
  • established なフィルタ設定
  • ポリシールーティング

PPPoE

PPPoE のプロファイルを作成しそれを GigaEthernet0.1 に割り当てることによって pppoe 通信ができる.

ppp profile pppoe_user
  authentication myname foo@example.com
  authentication password foo@example.com bar
!
interface GigaEthernet0.1
  encapsulation pppoe
  auto-connect
  ppp binding pppoe_user
  ip address ipcp
  ip tcp adjust-mss auto
  no shutdown
!

本体前面の PPP ランプがいつの間にか点灯していた.

NAPT およびサーバ公開とヘアピン NAT

インタフェース GigaEthernet0.1 で以下の定義を行うことにより,NAPT およびサーバ公開,さらにヘアピン NATの定義ができる.

  ip napt enable
  ip napt hairpinning
  ip napt static GigaEthernet0.0 1
  ip napt static 192.0.2.220 tcp 443
  ip napt static 192.0.2.220 tcp 80
  ip napt static 192.0.2.210 tcp 25
  ip napt static 192.0.2.210 tcp 465
  ip napt static 192.0.2.210 tcp 587
  ip napt static 192.0.2.210 tcp 993
  ip napt static 192.0.2.210 tcp 995

サーバの ssh ポートを 22 番以外で通信させる場合は以下のように定義する.

  ip napt service ssh-sv1 192.0.2.210 22 tcp 11022
  ip napt service ssh-sv2 192.0.2.220 22 tcp 12022

MAP-E

MAP-E は tunnel インタフェースに設定する.

interface Tunnel0.0
  tunnel mode map-e
  ip address map-e
  ip tcp adjust-mss auto
  ip napt enable
  no shutdown
!

確認は以下のコマンドを実行する.

show map-e status

現在のところ未使用.後述するポリシールーティングで端末によって PPPoE の経路と MAP-E の経路を使い分けできるようになった.

実家~自宅間 VPN(IKEv2/IPsec)

まず,以下の行を定義する.

ikev2 authentication psk id ipv4 対抗ルータローカルIPv4アドレス key char 共有パスワード
ikev2 authentication psk id ipv4 自ルータローカルIPv4アドレス key char 共有パスワード

つづいて,トンネルインタフェースを定義する.

interface Tunnel1.0
  tunnel mode ipsec-ikev2
  ip unnumbered BVI0
  ip tcp adjust-mss auto
  ikev2 connect-type auto
  ikev2 local-authentication id ipv4 自ルータのローカルIPv4アドレス
  ikev2 peer-fqdn-ipv6 対抗ルータ登録名.i.open.ad.jp authentication id ipv4 対抗ルータローカルIPv4アドレス
  no shutdown
!

なお,デフォルトプロファイルは作成していない.

対向対抗ルータ(NVR700W)の定義は次のとおり.

tunnel select 2
 ipsec tunnel 1
  ipsec sa policy 1 1 esp aes256-cbc sha-hmac
  ipsec ike version 1 2
  ipsec ike always-on 1 on
  ipsec ike keepalive log 1 on
  ipsec ike keepalive use 1 on icmp-echo 対抗ルータIPv4アドレス
  ipsec ike local name 1 対抗ルータIPv4アドレス ipv4-addr
  ipsec ike nat-traversal 1 on
  ipsec ike pre-shared-key 1 text 共有鍵
  ipsec ike remote address 1 自サーバの登録名.i.open.ad.jp
  ipsec ike remote name 1 対抗ルータIPv4アドレス ipv4-addr
 ip tunnel tcp mss limit auto
 tunnel enable 2

経路情報の設定

ip route 実家側のローカルアドレス Tunnel1.0

本体前面の VPN ランプがいつの間にか点灯していた.

DHCPv4 サーバ

まず,DHCPv4 のプロファイルを作成する.

ip dhcp profile dhcpv4_sv_ge2.0
  assignable-range 192.0.2.130 192.0.2.223
  subnet-mask 255.255.255.0
  default-gateway 192.0.2.254
  dns-server 192.0.2.215
  fixed-assignment 192.0.2.130 de:ad:de:ad:de:ad
!

つづいて,適用するインタフェースで以下のコマンドを実行する

interface GigaEthernet2.0
  ip dhcp binding dhcpv4_sv_ge2.0

ひかり電話

グローバルセグメントに NVR を接続し,SIP 関連の定義だけを行う.また,IPv6 の設定は入れないようにする.これは y2blog さんのこのページの「とりあえず『ひかり電話』を使えるようにする一番簡単な方法」のアイディアを利用している.IX と並列に NVR を接続し NVR の IPv6 の機能をすべて停止し IPv4 と SIP の部分のみを定義している.NVR の定義は以下の通り.

ip lan2 address dhcp
ngn type lan2 ntt
telnetd host none
dns server dhcp lan2
dns private address spoof on
httpd host none
analog sip arrive permit 1 myname
analog sip call myname 1 sip:0987654321
analog sip arrive permit 2 off
analog sip call permit 2 off
analog supplementary-service pseudo call-waiting
analog extension emergency-call-dial type normal-number
analog extension dial prefix sip prefix="9#"
analog extension dial prefix port=1 ngn lan2
analog extension dial prefix port=2 ngn lan2
alarm entire off
sip use on
sip codec permit lan2 g711u
sshd host none

以下のような状況となる.これで通話ができている.

# show status dhcpc
Interface: LAN2 primary
            IP address: 198.51.100.2/30
           DHCP server: 198.51.100.3
       Remaining lease: 3hours 34min. 3secs.
      (type) Client ID: (01) ff ff ff ff ff ff ff ff ff
         SIP Server[1]: 203.0.113.1
       Vender Specific: 210
           MAC address: de:ad:de:ad:de:ad
            Tel number: 0987654321
            SIP domain: ntt-west.ne.jp
            HGW server: www.verinfo.hgw.flets-west.jp
       Static Route[1]: 203.0.113.0/26 gateway 198.51.100.3
       Static Route[2]: 203.0.113.64/26 gateway 198.51.100.3
       Static Route[3]: 203.0.113.128/26 gateway 198.51.100.3
Common information
       Default gateway: 198.51.100.3
# show status ngn
NGN status
 
  LAN2
    sip:0987654321@ntt-west.ne.jp
    Ready
 
# show status ipv6 dhcp
 
there's no DHCPv6 configuration.
 
#

これだけなら NVR500 でも十分.

established なフィルタ設定

アクセスリストの定義例.

ipv6 access-list established permit tcp established src any sport any dest any dport any

インタフェースへの適用.in 側のみ.

interface GigaEthernet0.0
  ipv6 filter established xxx in

ポリシールーティング

ポリシールーティングを設定する目的は,内部の LAN から外部へのアクセスは MAP-E を利用し,外部から公開サーバへのアクセスのための通信は PPPoE に振り向けるため.

アクセスリストの作成

ip access-list client_services deny ip src 192.0.2.11/32 dest 192.0.2.0/24
ip access-list client_services permit ip src 192.0.2.11/32 dest any
ip access-list client_services deny ip src 192.0.2.128/26 dest 192.0.2.0/24
ip access-list client_services permit ip src 192.0.2.128/26 dest any
ip access-list server_services deny ip src 192.0.2.0/24 dest 192.0.2.0/24
ip access-list server_services permit ip src 192.0.2.0/24 dest any
ip access-list server_services deny ip src 192.0.2.224/27 dest 192.0.2.0/24
ip access-list server_services permit ip src 192.0.2.224/27 dest any

ルートマップの作成

route-map use-map_e permit 10
  match ip address access-list client_services
  set interface Tunnel0.0
!
route-map use-pppoe permit 20
  match ip address access-list server_services
  set interface GigaEthernet0.1
!

デフォルトルートを PPPoE に向けた場合

interface GigaEthernet2.0
  ip policy route-map use-map_e

デフォルトルートを MAP-E に向けた場合

interface GigaEthernet2.0
  ip policy route-map use-pppoe

残作業

  • ひかり電話(IX2215 の下に NVR)→別記事
  • 動的フィルタ→参考にしたフィルタにすでに含まれていた.

新たに行いたいこと

これらについては,別記事で取り扱う

  • サーバセグメントを IX2215 に収容すること→こちらに記載した.
  • IPv6 プレフィックスを dhcpv6-pd で再配布すること→こちらに記載している.

コメント

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