前回はIPsecでルータ越えをするネットワークを構築しましたが、インターネットに出ないので暗号化は要らない。ということでIPIP(IP over IP)トンネルを使ってルータLAN内のネットワークと通信を試します。通信対象として前回と同様の業務サーバに扮したものに通信します。
前提
- SORACOM Gateの設定が完了していること(下記リンク参照のこと)
SORACOM Gate を使用してデバイスにアクセスする
環境
- SORACOM-Gate: Amazon Linux AMI 2017.09.1
- Router: Yamaha NVR700
構成図
構築
SORACOM Gateサーバ
IPIPトンネルの設定
ip tunnel add tun0 mode ipip remote 172.20.0.7 local 172.20.0.1 dev vxlan0 ip link set tun0 up ip addr add 169.254.0.6/30 peer 169.254.0.5/30 dev tun0 ip route add 10.46.8.0/21 dev tun0
Yamahaルータ
コンフィグ
# keepalive ip keepalive 1 icmp-echo 15 3 169.254.0.6 upwait=45 # SORACOM SIM ip wan1 address pdp ip wan1 pdp auto default-route-add off ip wan1 pdp auto interface-route-add off wan1 bind wwan 1 wwan select 1 wwan always-on on wwan auth accept chap wwan auth myname sora sora wwan auto connect on wwan disconnect time off wwan disconnect input time off wwan disconnect output time off wwan access-point name soracom.io wwan access limit length off wwan access limit time off wwan radio access technology lte wwan enable 1 # IPIPトンネル tunnel select 1 description tunnel To_SORACOM_Gate tunnel encapsulation ipip tunnel endpoint address 172.20.200.1 ip tunnel address 169.254.0.5/30 ip tunnel remote address 169.254.0.6 ip tunnel tcp mss limit auto tunnel enable 1 # NAT ip wan1 nat descriptor 1 nat descriptor type 1 masquerade nat descriptor address outer 1 172.20.0.7 nat descriptor address inner 1 auto nat descriptor masquerade static 1 1 172.20.0.7 4 nat descriptor masquerade static 1 2 172.20.0.7 udp * nat descriptor masquerade static 1 3 172.20.0.7 tcp * # 経路設定 ip route default gateway pdp wan1
IPIPトンネルが切れないように、icmp-echoパケットをGateサーバのトンネルIPにpingを15秒毎に送っています。
ip keepalive 1 icmp-echo 15 3 169.254.0.6 upwait=45
疎通確認
SORACOM Gateサーバ > 業務サーバ(10.47.10.2)
# ping -c 3 10.46.10.2 PING 10.46.10.2 (10.46.10.2) 56(84) bytes of data. 64 bytes from 10.46.10.2 icmp_seq=1 ttl=255 time=126 ms 64 bytes from 10.46.10.2: icmp_seq=2 ttl=255 time=37.7 ms 64 bytes from 10.46.10.2: icmp_seq=3 ttl=255 time=35.8 ms --- 10.46.10.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 35.817/66.702/126.560/42.333 ms
さいごに
strongSwan使って設定するよりもとても簡単でした。それに暗号化しないのでスループットが若干早くなりますね。
以上