OpenWRT site2site IPsec (1)
OpenWRT で単純なサイト間IPsecの設定が意外に見当たらないのでまとめてみた。
動作環境
OpenWRT 15.05, x86-generic版
MacOSX 10.11.1 上の VirtualBox 5.0.10 r104061で確認した。
OpenWRTのイメージ入手方法
https://downloads.openwrt.org/chaos_calmer/15.05/x86/generic/
に置いてある
https://downloads.openwrt.org/chaos_calmer/15.05/x86/generic/openwrt-15.05-x86-generic-combined-ext4.img.gz
を入手
# VirtualBoxで扱う形式に変換
VBoxManage convertfromraw --format VDI openwrt-15.05-x86-generic-combined-ext4.img openwrt-BB-15.05-x86.1.vdi
VBoxManage convertfromraw --format VDI openwrt-15.05-x86-generic-combined-ext4.img openwrt-BB-15.05-x86.2.vdi
同一のVirtualBox 上で使用するのでVBoxManageは2回実行して、openwrt-BB-15.05-x86.1.vdiと
openwrt-BB-15.05-x86.2.vdi を作成する事。
cp -p openwrt-BB-15.05-x86.1.vdi openwrt-BB-15.05-x86.2.vdi
としても openwrt-BB-15.05-x86.1.vdi を使用している環境で openwrt-BB-15.05-x86.2.vdiを使用できないので注意する事。
VirtualBoxでVM作成
VM1
- 名前: OpenWRT 15.05 R1
- オペレーティングシステム: Linux 2.6 /3.x /4.x (32bit)
- メインメモリー: 256MB
- ストレージ: openwrt-BB-15.05-x86.1.vdi
- ネットワーク アダプター1: (ブリッジアダプター, 'en1: Wi-Fi (AirPort)')
アダプター2: (ブリッジアダプター, 'en0: Ethernet')
VM2
- 名前: OpenWRT 15.05 R2
- オペレーティングシステム: Linux 2.6 /3.x /4.x (32bit)
- メインメモリー: 256MB
- ストレージ: openwrt-BB-15.05-x86.2.vdi
- ネットワーク アダプター1: (ブリッジアダプター, 'en1: Wi-Fi (AirPort)')
アダプター2: (ブリッジアダプター, 'en4: AX88772')
ネットワーク環境
MacBookProの本体内蔵有線LANとUSB接続の有線LAN間でVPN接続するためVirtualBox的には下記の構成とする。
ネットワーク構成図
OpenWRTの視点で見ると下記のようなネットワーク構成とする。
OpenWRTの設定
OpenWRT14.07と異なり OpenWRT15.05では
デフォルトではwan側にeth1を割り当てている。
/etc/config/network の設定変更を行った。
- wan側にeth0 (192.168.2.11/24)を割り当てる
- lan側にeth1 (192.168.101.1/24)を割り当てる
- デフォルトルートに192.168.2.1を指定する
OpenWRT 15.05 R1 設定変更後の /etc/config/network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'lan'
option ifname 'eth1'
option proto 'static'
option ipaddr '192.168.101.1'
option netmask '255.255.255.0'
config interface 'wan'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.2.11'
option netmask '255.255.255.0'
config route
option interface 'wan'
option target '0.0.0.0/0'
option gateway '192.168.2.1'
/etc/config/firewall の設定変更をした
- 基本的にパケットを破棄する事はないようにした
OpenWRT 15.05 R1 設定変更後の /etc/config/firewall
config defaults
option syn_flood 1
option input ACCEPT
option output ACCEPT
option forward ACCEPT
# Uncomment this line to disable ipv6 rules
option disable_ipv6 1
config zone
option name lan
list network 'lan'
option input ACCEPT
option output ACCEPT
option forward ACCEPT
config zone
option name wan
list network 'wan'
option input ACCEPT
option output ACCEPT
option forward ACCEPT
# option masq 1
# option mtu_fix 1
config forwarding
option src lan
option dest wan
# include a file with users custom iptables rules
config include
option path /etc/firewall.user
# allow IPsec/ESP and ISAKMP passthrough
config rule
option src wan
option dest lan
option proto esp
option target ACCEPT
config rule
option src wan
option dest lan
option dest_port 500
option proto udp
option target ACCEPT
ここまで設定した状態でOpenWRT 15.05 R1を再起動すると
wan側(eth0)の192.168.2.1からOpenWRTのWebインタフェースに接続可能になる。
Webインタフェースから
- DNSサーバの設定として192.168.2.1, 8.8.8.8を指定した。
- Webから管理者パスワードの設定を行った。
コンソールから下記コマンドを実行して
OpenWRTを最新化する
# opkg update
# opkg list-upgradable
list-upgradable で表示された luci各種upgradeした。
OpenWRT 15.05 R2 についてもOpenWRT 15.05 R1と同様に設定を行うが
/etc/config/networkの設定が異なる。
- wan側にeth1 (192.168.2.12/24)を割り当てる
- lan側にeth0 (192.168.102.1/24)を割り当てる
- デフォルトルートに192.168.2.1を指定する
OpenWRT 15.05 R2 設定変更後の /etc/config/network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'lan'
option ifname 'eth1'
option proto 'static'
option ipaddr '192.168.102.1'
option netmask '255.255.255.0'
config interface 'wan'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.2.12'
option netmask '255.255.255.0'
config route
option interface 'wan'
option target '0.0.0.0/0'
option gateway '192.168.2.1'
以後、IPsec関連のインストールと設定を行う OpenWRT site2site IPsec (2) に続く。