読者です 読者をやめる 読者になる 読者になる

旅モバ

旅、モバイル、サーバ関連(Linux,FreeBSD)、クラウド・Webサービス、その他PCの話題など。

さくらのVPS(CentOS6+Openswan)とFitelnetをIPSecで繋いだメモ

自宅には古河電工のFitelnet-F80というIPSec対応のVPNルーターがあり、他の拠点にあるFitelnet-F100と接続してVPNを構成しています。

Fitelnetは、動作が非常に安定していることや、設定資料やファームウェアがメーカーWebサイトから入手出来ることから、個人的には非常にお勧めのルーターなのですが、ヤフオクでは1000円から売られている、あまり人気の無い(?)ルーターです。世間的な人気が無い理由は、ヤマハやシスコほどメジャーでは無い(ゆえに、設定例等の情報が少ない)、IPSec+L2TPに対応していない、ギガビットインターフェースでないという理由があるためでしょう。

閑話休題

今回、さくらのVPS(CentOS6)にopenswanをインストールして、自宅のFitelnetとIPSecで接続してみました。接続できるまでに色々と苦戦したため、メモとして残すことにしました。

なお、赤字は環境に合わせて適宜変更する箇所となります。

ネットワーク構成

現在運用中のネットワークはこんな感じ。
f:id:tabimoba:20140831235258p:plain

自宅の設定

Fitelnet

以下の設定を追加する
(PPPoEやファイアウォール、NAPTは事前設定済みであることが前提)

ip route 192.168.240.0 255.255.255.0 connected ipsecif 1
vpn enable
vpnlog enable

ipsec access-list 1 ipsec ip any any
ipsec access-list 64 bypass ip any any
ipsec transform-set P2-POLICY esp-aes-128 esp-sha-hmac

interface ipsecif 1
 crypto map vpn
exit

crypto isakmp policy 1
 authentication prekey
 encryption aes 128
 group 2
 hash sha
 key ascii 事前共有鍵
 nat-traversal enable
 negotiation-mode main
 peer-identity address さくらVPSグローバルIPアドレス(例:153.121.xxx.xxx)
exit

crypto map vpn 1
 match address 1
 set peer address さくらVPSグローバルIPアドレス(例:153.121.xxx.xxx)
 set transform-set P2-POLICY
exit

end

save SIDE-A.cfg
refresh

さくらVPSの設定

openswanをインストール
yum install -y openswan
/etc/sysconfig/network-script/ifcfg-eth0

IPエイリアスとしてプライベートIPアドレスを追加する

IPADDR2="192.168.240.1"
NETMASK2="255.255.255.0"
/etc/ipsec.conf
nat_traversal=yes
protostack=netkey
virtual_private=%v4:10.0.0.0/8,%v4:172.16.0.0/12,%v4:192.168.0.0/16,%v4:!192.168.0.0/24
oe=off
/etc/ipsec.d/vpn.conf
conn vpn
  auto=add
  type=tunnel
  aggrmode=no
  authby=secret
  keyexchange=ike
  ike=aes128-sha1;modp1024
  phase2=esp
  phase2alg=aes128-sha1;modp1024
  pfs=no
  left=さくらVPSグローバルIPアドレス(例:153.121.xxx.xxx)
  leftid=さくらVPSグローバルIPアドレス(例:153.121.xxx.xxx)
  leftsubnet=さくらVPSに設定したIPエイリアスのサブネット(192.168.240.0/24)
  leftsourceip=さくらVPSに設定したIPエイリアスIPアドレス(192.168.240.1)
  right=FitelnetのグローバルIPアドレス
  rightid=FitelnetのグローバルIPアドレス
  rightsubnet=Fitelnet配下のプライベートIPアドレス側のサブネット(例:192.168.1.0/24)
  rightsourceip=FirelnetのプライベートIPアドレス(192.168.1.1)
  ikelifetime=8h
  salifetime=8h
  compress=no
/etc/ipsec.d/vpn.secret

: PSK "事前共有鍵"

IPSec接続を開始
/etc/init.d/network restart
/etc/init.d/ipsec restart
ipsec auto --up vpn

接続確認

自宅から

ping 192.168.200.1

を実行

さくらVPSから

ping 192.168.1.1
ping 192.168.1.0/24 配下にある機器のIPアドレス

を実行

全て疎通が取れれば、問題なく接続されています。