RTX1200を使ってL2TP/IPsecなVPNを構築する

どこのご家庭にもあるRTX1200でVPNを張ったらかなり捗ったので、覚書としてコンフィグを残しておく。YAMAHAの公式サイト見れば、VPN構築が始めてでも楽々設定できるからいいよね。だがGUI、お前には頼らない(ほうがカッコイイ)。

前提条件

  • RTX1200:10.0.10.240
  • Cisco L3:10.0.10.230 10.0.20.230
  • Client Segment:10.0.10.0/24
  • Server Segment:10.0.20.0/24

設定はコンソールで。telnetは論外、SSHも(個人的には)やめておきたいところ。どうせ自宅機器だし。きしめんおいしいです(^q^)

# RTX1200 Rev.10.01.65 (Tue Oct 13 12:23:48 2015)
# MAC Address : 
# Memory 128Mbytes, 3LAN, 1BRI
# main:  RTX1200 ver=b0 serial= MAC-Address= MAC-Address= MAC-Address=
# Reporting Date: Feb 9 23:13:34 2016
login password encrypted *
administrator password encrypted *
login user tydk27 *
ip route default gateway pp 1
ip route 10.0.20.0/24 gateway 10.0.10.230
ip lan1 address 10.0.10.240/24
ip lan1 proxyarp on
ip lan1 secure filter in 100000 100001 100002 100003 100004 100005 100006 100007 100099
pp select 1
 description pp PRV/PPPoE/0:HOGE_NW
 pp keepalive interval 30 retry-interval=30 count=12
 pp always-on on
 pppoe use lan2
 pppoe auto connect on
 pppoe auto disconnect off
 pp auth accept pap chap
 pp auth myname foobar hogepiyo
 ppp lcp mru on 1454
 ppp ipcp ipaddress on
 ppp ccp type none
 ip pp mtu 1500
 ip pp secure filter in 200003 200020 200021 200022 200023 200024 200025 200030 200032 200080 200081 200082 200083
 ip pp secure filter out 200013 200020 200021 200022 200023 200024 200025 200026 200027 200099 dynamic 200080 200081 200082 200083 200084 200085 200098 200099
 ip pp nat descriptor 1000
 netvolante-dns hostname host pp server=1 hogehoge.piyopiyo.netvolante.jp
 pp enable 1
pp select anonymous
 pp name hoge-vpn
 pp bind tunnel1
 pp auth request chap-pap
 pp auth username hoge piyo
 ppp ipcp ipaddress on
 ppp ipcp msext on
 ip pp remote address pool 10.0.10.31-10.0.10.40
 ip pp mtu 1258
 pp enable anonymous
tunnel select 1
 tunnel encapsulation l2tp
 ipsec tunnel 1
  ipsec sa policy 1 1 esp aes-cbc sha-hmac
  ipsec ike keepalive log 1 off
  ipsec ike keepalive use 1 off
  ipsec ike local address 1 10.0.10.240
  ipsec ike nat-traversal 1 on
  ipsec ike pre-shared-key 1 text hogehogepiyopiyo
  ipsec ike remote address 1 any
 l2tp tunnel auth off 
 l2tp keepalive use on
 ip tunnel tcp mss limit auto
 tunnel enable 1
ip filter 100000 reject * * udp,tcp 135 *
ip filter 100001 reject * * udp,tcp * 135
ip filter 100002 reject * * udp,tcp netbios_ns-netbios_dgm *
ip filter 100003 reject * * udp,tcp * netbios_ns-netbios_dgm
ip filter 100004 reject * * udp,tcp netbios_ssn *
ip filter 100005 reject * * udp,tcp * netbios_ssn
ip filter 100006 reject * * udp,tcp 445 *
ip filter 100007 reject * * udp,tcp * 445
ip filter 100099 pass * * * * *
ip filter 200000 reject 10.0.0.0/8 * * * *
ip filter 200001 reject 172.16.0.0/12 * * * *
ip filter 200002 reject 192.168.0.0/16 * * * *
ip filter 200003 reject 10.0.10.0/24 * * * *
ip filter 200010 reject * 10.0.0.0/8 * * *
ip filter 200011 reject * 172.16.0.0/12 * * *
ip filter 200012 reject * 192.168.0.0/16 * * *
ip filter 200013 reject * 10.0.10.0/24 * * *
ip filter 200020 reject * * udp,tcp 135 *
ip filter 200021 reject * * udp,tcp * 135
ip filter 200022 reject * * udp,tcp netbios_ns-netbios_ssn *
ip filter 200023 reject * * udp,tcp * netbios_ns-netbios_ssn
ip filter 200024 reject * * udp,tcp 445 *
ip filter 200025 reject * * udp,tcp * 445
ip filter 200026 restrict * * tcpfin * www,21,nntp
ip filter 200027 restrict * * tcprst * www,21,nntp
ip filter 200030 pass * 10.0.10.0/24 icmp * *
ip filter 200031 pass * 10.0.10.0/24 established * *
ip filter 200032 pass * 10.0.10.0/24 tcp * ident
ip filter 200033 pass * 10.0.10.0/24 tcp ftpdata *
ip filter 200034 pass * 10.0.10.0/24 tcp,udp * domain
ip filter 200035 pass * 10.0.10.0/24 udp domain *
ip filter 200036 pass * 10.0.10.0/24 udp * ntp
ip filter 200037 pass * 10.0.10.0/24 udp ntp *
ip filter 200080 pass * 10.0.10.240 esp * *
ip filter 200081 pass * 10.0.10.240 udp * 500
ip filter 200082 pass * 10.0.10.240 udp * 4500
ip filter 200083 pass * 10.0.10.240 udp * 1701
ip filter 200098 reject-nolog * * established
ip filter 200099 pass * * * * *
ip filter 500000 restrict * * * * *
ip filter dynamic 200080 * * ftp
ip filter dynamic 200081 * * domain
ip filter dynamic 200082 * * www
ip filter dynamic 200083 * * smtp
ip filter dynamic 200084 * * pop3
ip filter dynamic 200085 * * submission
ip filter dynamic 200098 * * tcp
ip filter dynamic 200099 * * udp
nat descriptor address outer 1 ipcp
nat descriptor address inner 1 auto
nat descriptor type 1000 masquerade
nat descriptor masquerade static 1000 101 10.0.10.240 esp
nat descriptor masquerade static 1000 102 10.0.10.240 udp 500
nat descriptor masquerade static 1000 104 10.0.10.240 udp 4500
ipsec transport 1 1 udp 1701
telnetd service off
telnetd host none
dns server hogeeee
dns server select 500001 hogeeee any . restrict pp 1
dns private address spoof on
snmp sysname yamaha-rtx1200
schedule at 1 */* 00:00 * ntpdate 10.0.10.2 syslog
schedule at 2 */* 03:00 * mail notify status exec 1
schedule at 3 */* 03:10 * clear log
l2tp service on
mail server name 1 hoge
mail server smtp 1 10.0.10.1
mail template 1 1 From:foo@bar.com To:hoge@piyopiyo.com "Subject:hogepiyo's status mail" notify-wait-time=1
mail notify 1 1 trigger status all
sshd service off
sshd host lan1
sshd host key generate *
statistics cpu on
statistics memory on
#

「ip route 10.0.20.0/24 gateway 10.0.10.230」について

過去記事にも書いていますが、自宅NWはVRFで構築しています。

こういった環境ですのでVPNで自宅にアクセスすると、通常ではサーバセグメントには入れません。が、VRFはルート漏洩させていますので、10.0.10.230までのルーティングを書いてあげれば問題ないということです。10.0.20.0/24行きを10.0.10.230に飛ばすようにすることで解決。まぁVPNの設定だけでなくて、メールサーバやNTPサーバがサーバセグメントにあるので、これがないと無理ゲーになるというアレ。

「ip lan1 proxyarp on」について

「ルータまではpingが通るのにその先に行かねえ!」とかいう状況に陥ったら、まずProxy ARPがONになっていることを確認しましょう。えぇえぇ、これで1時間ハマりましたよ…。

サーバラックください(懇願)