自宅ルータを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)→別記事
- 動的フィルタ→参考にしたフィルタにすでに含まれていた.
新たに行いたいこと
これらについては,別記事で取り扱う
コメント