ページへ戻る

− Links

 印刷 

Gentoo Linuxな生活​/IKEv2 VPNで悩む の変更点 :: Nest Of Hawk

xpwiki:Gentoo Linuxな生活/IKEv2 VPNで悩む の変更点

  
現: 2022-02-20 (日) 21:15:31 maruo[3] ソース[4]
Line 1: Line 1:
 +*時代は変遷するもの… [#x50a1efe]
 +2017年からLibreSwanによるIPsec/L2TP VPNを構築しておりましたが、LibreSwanも、L2TPを噛ます方式ももうオワコンらしいです。
 +今やStrongSwanを使って、IKEv2によるIPsec VPNてのが流行らしいです。Android12もIKEv2が標準らしいので、そちらに以降してみます。
 +
 +*IKEv2ってなんぞ [#gab2583d]
 +CiscoとMicrosoftで規定した、IPsecの鍵交換方式らしい。ネットワークが移動してもトンネルを維持できるので、モバイル機器に向いている、らしい。また、Microsoftが規定しているということは、Windowsとも相性がいい、らしい。
 +
 +
 +*設定 [#c71e3626]
 +**StrongSwanのインストール [#c4cd5791]
 +
 +package.useファイルに以下の設定を追記。
 +
 + net-vpn/strongswan eap farp
 +
 +で、パッケージをインストールします。
 +
 + # emerge strongswan
 +
 +**StrongSwanの設定 [#fba2ebcc]
 +
 +***サーバ証明書の設定 [#h9bfa9b1]
 +StrongSwanにはサーバ証明書が必要です。サーバ証明書には、
 +- サーバ認証局証明書
 +- サーバ公開鍵
 +- サーバ秘密鍵
 +
 +これらは、ドメインを公開しているLet's encryptの証明書が使えるので、それをStorongSwanでも使えるように設定します。
 +
 + # cd /etc/ipsec.d/cacerts
 + # ln -sfn /etc/letsencrypt/live/ドメイン名/chain.pem
 + # cd /etc/ipsec.d/certs
 + # ln -sfn /etc/letsencrypt/live/ドメイン名/cert.pem
 + # cd /etc/ipsec.d/private
 + # ln -sfn /etc/letsencrypt/live/ドメイン名/privkey.pem
 +
 +また、ipsec.d以下はStrongSwanのユーザ/グループ名でしかアクセスできないように権限設定注意してくださいね。秘密鍵だだもれは恐ろしいので…
 +
 +今回は、MSCHAPv2という、ユーザー/パスワードを入力する方式で行きます。
 + # vi /etc/ipsec.conf
 +
 +
 + # ipsec.conf - strongSwan IPsec configuration file
 + 
 + # basic configuration
 + 
 + config setup
 +       # strictcrlpolicy=yes
 +       # uniqueids = no
 + 
 + # Add connections here.
 + 
 + conn %default
 +     keyexchange=ikev2
 +     ike=aes128-sha256-ecp256,aes256-sha384-ecp384,aes128-sha256-modp2048,aes128-sha1-modp2048,aes256-sha384-modp4096,aes256-sha256-modp4096,aes256-sha1-modp4096,aes128-sha256-modp1536,aes128-sha1-modp1536,aes256-sha384-modp2048,aes256-sha256-modp2048,aes256-sha1-modp2048,aes128-sha256-modp1024,aes128-sha1-modp1024,aes256-sha384-modp1536,aes256-sha256-modp1536,aes256-sha1-modp1536,aes256-sha384-modp1024,aes256-sha256-modp1024,aes256-sha1-modp1024!
 +     esp=aes128gcm16-ecp256,aes256gcm16-ecp384,aes128-sha256-ecp256,aes256-sha384-ecp384,aes128-sha256-modp2048,aes128-sha1-modp2048,aes256-sha384-modp4096,aes256-sha256-modp4096,aes256-sha1-modp4096,aes128-sha256-modp1536,aes128-sha1-modp1536,aes256-sha384-modp2048,aes256-sha256-modp2048,aes256-sha1-modp2048,aes128-sha256-modp1024,aes128-sha1-modp1024,aes256-sha384-modp1536,aes256-sha256-modp1536,aes256-sha1-modp1536,aes256-sha384-modp1024,aes256-sha256-modp1024,aes256-sha1-modp1024,aes128gcm16,aes256gcm16,aes128-sha256,aes128-sha1,aes256-sha384,aes256-sha256,aes256-sha1!
 +     dpdaction=clear
 +     dpddelay=300s
 +     rekey=no
 + 
 + conn IPSec-IKEv2
 +     keyexchange=ikev2
 +     left=%any
 +     leftsubnet=0.0.0.0/0
 +     leftid=Let's encryptで届け出ているドメイン名
 +     leftcert=cert.pem
 +     leftsendcert=always
 +     right=%any
 +     rightid=%any
 +     rightdns=DNSサーバアドレス
 +     rightsourceip=端末に割り振るIPアドレス
 +     auto=add
 + 
 + conn IPSec-IKEv2-EAP
 +     also="IPSec-IKEv2"
 +     rightauth=eap-mschapv2
 +     eap_identity=%any
 +     auto=add
 +最後に、パスフレーズを設定します。
 +
 + # vi /etc/ipsec.secrets
 +
 + # ipsec.secrets - strongSwan IPsec secrets file
 + 
 + : RSA privkey.pem
 + 
 + ユーザ名 : EAP "パスワード"
 +
 +このipsec.secretsもStrongSwanのユーザしかアクセスできないようにしておいてくださいね…
 +
 +さて…サーバの設定は終了
 +
 +*IPフィルタの設定 [#r1c0ae3d]
 +
 + iptables -t filter -A INPUT  -p udp -m udp --dport 500 -j ACCEPT
 + iptables -t filter -A INPUT  -p udp -m udp --dport 4500 -j ACCEPT
 + iptables -t filter -A OUTPUT -p udp -m udp --sport 4500 -j ACCEPT
 + iptables -t filter -A OUTPUT -p udp -m udp --sport 500 -j ACCEPT
 +
 +IKE鍵交換プロトコルと、IPsecのESP((Encapseled Security Payload))を受信するためのポートをオープンします。
 +
 +更に、NAPTなブロードバンドルータに、UDP 4500 とUDP 500をサーバにNAT変換するアドレス変換テーブルを設定します。
 +
 +*接続してみよう [#ddafd69c]
 +**サーバ群起動 [#b694e07a]
 + # /etc/init.d/ipsec start
 +
 +**Android側設定 [#q9b2cffb]
 +端末設定→その他→VPN→VPNの追加 選択
 +:名前|適当につけて
 +:タイプ|IKEv2/IPSec mschapv2
 +:サーバアドレス|IPsecサーバのIPアドレス若しくはホスト名
 +:ユーザ名|/etc/ipsec.secretsに設定したユーザ名
 +:パスワード|/etc/ipsec.secretsに設定したパスワード
 +
 +んで、保存。接続するときは
 +
 +で接続をタップ。
 +
 +**Windows側設定 [#v85d9007]
 +Windows10は『設定』→ネットワークとインターネット→VPN→VPN接続を追加する
 +:VPNプロバイダ|Windowsビルドイン
 +:名前|適当につけて
 +:サーバアドレス|IPsecサーバのIPアドレス若しくはホスト名
 +:サインイン情報の種類|ユーザ名とパスワード
 +:ユーザ名(オプション)|/etc/ipsec.secretsに設定したユーザ名
 +:パスワード(オプション)|/etc/ipsec.secretsに設定したパスワード
 +
 +でVPN接続が作られます。タスクバーの通知アイコンのネットワークを開くと、VPN接続のアイコンができております。クリックして接続を押すと、設定がうまくできてれば、接続確立します!
  

  • Gentoo Linuxな生活/IKEv2 VPNで悩む のバックアップ差分(No. All)
    • 現: 2022-02-20 (日) 21:15:31 maruo[3]