{"id":968,"date":"2018-07-10T11:48:45","date_gmt":"2018-07-10T02:48:45","guid":{"rendered":"https:\/\/fsck.jp\/?p=968"},"modified":"2019-10-21T11:16:30","modified_gmt":"2019-10-21T02:16:30","slug":"x-509-%e8%a8%bc%e6%98%8e%e6%9b%b8%e3%81%ab%e3%82%88%e3%82%8b-ipsec-%e8%aa%8d%e8%a8%bc-libreswan","status":"publish","type":"post","link":"https:\/\/fsck.jp\/?p=968","title":{"rendered":"X.509 \u8a3c\u660e\u66f8\u306b\u3088\u308b IPsec \u8a8d\u8a3c (libreswan)"},"content":{"rendered":"\n<p>libreswan \u3092\u4f7f\u3063\u3066\u3001IPsec \u306e X.509 \u8a3c\u660e\u66f8\u8a8d\u8a3c\u3092\u691c\u8a3c\u3059\u308b\u3002<\/p>\n\n\n\n<p>\u691c\u8a3c\u74b0\u5883\u306f<a href=\"https:\/\/fsck.jp\/?p=972\">\u524d\u56de\u8a18\u4e8b<\/a>\u3068\u540c\u69d8\u3067\u3001\u4ee5\u4e0b\u306e\u56f3\u306e\u901a\u308a\u3067\u3042\u308b\u3002 <\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fsck.jp\/wp-content\/uploads\/2018\/07\/7545d300a5217a33daaac945000eeb77.png\"><img loading=\"lazy\" width=\"300\" height=\"225\" src=\"https:\/\/fsck.jp\/wp-content\/uploads\/2018\/07\/7545d300a5217a33daaac945000eeb77-300x225.png\" alt=\"\" class=\"wp-image-996\" srcset=\"https:\/\/fsck.jp\/wp-content\/uploads\/2018\/07\/7545d300a5217a33daaac945000eeb77-300x225.png 300w, https:\/\/fsck.jp\/wp-content\/uploads\/2018\/07\/7545d300a5217a33daaac945000eeb77-768x576.png 768w, https:\/\/fsck.jp\/wp-content\/uploads\/2018\/07\/7545d300a5217a33daaac945000eeb77-624x468.png 624w, https:\/\/fsck.jp\/wp-content\/uploads\/2018\/07\/7545d300a5217a33daaac945000eeb77.png 800w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/figure>\n\n\n\n<p>vpn1\u3001vpn2\u3001host1\u3001host2\u3001router1 OS \u306f\u5168\u3066 Ubuntu 18.04 \u3067\u3042\u308b\u3002<\/p>\n\n\n\n<h2>1. \u8a3c\u660e\u66f8\u306e\u7528\u610f<\/h2>\n\n\n\n<p>libreswan \u3067\u8a3c\u660e\u66f8\u3092\u6271\u3046\u5834\u5408\u3001<a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Mozilla\/Projects\/NSS\/tools\">NSS Tools<\/a> \u306e\u6d41\u5100\u306b\u5f93\u3063\u3066\u7ba1\u7406\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3002strongswan \u306e\u3088\u3046\u306b\u30d5\u30a1\u30a4\u30eb\u30d9\u30fc\u30b9\u3067\u306e\u8a3c\u660e\u66f8\u7ba1\u7406\u306f\u3067\u304d\u306a\u3044\u3088\u3046\u306a\u306e\u3067\u3001\u5c11\u3057\u4e0d\u4fbf\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<p>vpn1 \u5074\u306e NSS Tools \u3067\u30aa\u30ec\u30aa\u30ec CA \u3092\u4f5c\u3063\u3066\u3001vpn1\u30fbvpn2 \u4e21\u65b9\u306e\u8a3c\u660e\u66f8\u3092\u3053\u3053\u3067\u4f5c\u6210\u3059\u308b\u3053\u3068\u306b\u3059\u308b\u3002\u3042\u3068\u3067\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3057\u3066 vpn2 \u3078\u6301\u3063\u3066\u3044\u304f\u3002<\/p>\n\n\n\n<h3>1.1 \u521d\u671f\u5316<\/h3>\n\n\n\n<p>\u6700\u521d\u306b\u3001NSS \u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u8a3c\u660e\u66f8\u30b9\u30c8\u30a2\u3092\u4e21\u30b5\u30fc\u30d0\u3067\u521d\u671f\u5316\u3059\u308b\u3002Ubuntu \u306e\u5834\u5408\u306f\u6a19\u6e96\u306e\u30d1\u30b9\u304c \/var\/lib\/ipsec\/nss \u306b\u306a\u3063\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<p><code>user@vpn1:~$ sudo rm -f \/var\/lib\/ipsec\/nss\/*.db<br>\nuser@vpn1:~$ sudo ipsec initnss<br>\nuser@vpn2:~$ sudo rm -f \/var\/lib\/ipsec\/nss\/*.db<br>\nuser@vpn2:~$ sudo ipsec initnss<\/code><\/p>\n\n\n\n<h3>1.2 CA\u9375\u30fb\u8a3c\u660e\u66f8\u306e\u4f5c\u6210<\/h3>\n\n\n\n<p>\u6b21\u306b\u3001vpn1 \u4e0a\u3067 CA \u9375\u3068\u8a3c\u660e\u66f8\u306e\u30bb\u30c3\u30c8\u3092\u4f5c\u6210\u3059\u308b\u3002\u4ee5\u4e0b\u306e\u3088\u3046\u306b certutil \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3059\u308b\u3002<\/p>\n\n\n\n<p><code>user@vpn1:~$ sudo certutil -S -k rsa -n ca -s \"CN=ca.example.com\" -v 120 -t \"CT,C,C\" -x -d sql:\/var\/lib\/ipsec\/nss<\/code><br><br>\n\n<code>A random seed must be generated that will be used in the<br>\ncreation of your key.  One of the easiest ways to create a<br>\nrandom seed is to use the timing of keystrokes on a keyboard. <\/code><br><br>\n\n<code>To begin, type keys on the keyboard until this progress meter<br>\nis full. DO NOT USE THE AUTOREPEAT FUNCTION ON YOUR KEYBOARD!<\/code><br><br>\n\n<code>Continue typing until the progress meter is full:<\/code><br><br>\n\n<code>|***************************************************************|<\/code><br><br>\n\n<code>Finished. Press enter to continue:<\/code><br><br>\n\n<code>Generating key. This may take a few moments\u2026<\/code><\/p>\n\n\n\n<p> \u9014\u4e2d\u3067\u3001\u4e71\u6570\u306e\u7a2e\u3068\u3057\u3066\u30ad\u30fc\u30dc\u30fc\u30c9\u304b\u3089\u306e\u5165\u529b\u3092\u6c42\u3081\u3089\u308c\u308b\u306e\u3067\u3001\u9069\u5f53\u306b\u30e9\u30f3\u30c0\u30e0\u5165\u529b\u3059\u308b\u3002<\/p>\n\n\n\n<p>\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u306f\u3001\u305d\u308c\u305e\u308c\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u610f\u5473\u304c\u3042\u308b\u3002<br>\n<code>-S<\/code> \u306f\u9375\u30fb\u8a3c\u660e\u66f8\u306e\u751f\u6210\u3068\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u767b\u9332\u3092\u6307\u793a\u3059\u308b\u3002<br>\n<code>-k<\/code> \u306f\u9375\u306e\u30bf\u30a4\u30d7\u3092\u6307\u5b9a\u3059\u308b\u3002\u3053\u3053\u3067\u306f RSA \u3092\u4f7f\u3046\u3002<br>\n<code>-n<\/code> \u306f\u3001\u3053\u306e\u9375\/\u8a3c\u660e\u66f8\u306e NSS \u30b9\u30c8\u30a2\u5185\u3067\u306e\u30cb\u30c3\u30af\u30cd\u30fc\u30e0\u3092\u6307\u5b9a\u3059\u308b\u3002<br>\n<code>-s<\/code> \u306f\u3001CA \u306e CN (\u30b3\u30e2\u30f3\u30cd\u30fc\u30e0) \u3092\u6307\u5b9a\u3059\u308b\u3002\u9069\u5f53\u306b\u6c7a\u3081\u3066\u3088\u3044\u3002<br>\n<code>-v<\/code> \u306f\u3001\u8a3c\u660e\u66f8\u306e\u6709\u52b9\u671f\u9650\u3092\u6307\u5b9a\u3059\u308b\u3002(\u5358\u4f4d: \u6708)<br>\n<code>-t \"CT,C,C\"<\/code> \u306f\u3001\u8a3c\u660e\u66f8\u306e\u4fe1\u983c\u5c5e\u6027\u3092\u6307\u5b9a\u3059\u308b\u3002<br>\n3\u3064\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u6700\u521d\u306f SSL\u30012\u756a\u76ee\u306f\u30e1\u30fc\u30eb\u30013\u756a\u76ee\u306f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u7f72\u540d\u306e\u7528\u9014\u3092\u8868\u3059\u3002<br>\nC \u306f CA\u3001T \u306f\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u8a8d\u8a3c\u8a3c\u660e\u66f8\u767a\u884c\u306e\u305f\u3081\u306e CA \u3092\u8868\u3059\u3002<br>\nIPsec \u306e\u8a8d\u8a3c\u4ee5\u5916\u306b\u3053\u306e CA \u3092\u4f7f\u3046\u3053\u3068\u304c\u306a\u3051\u308c\u3070\u3001<code>C,,<\/code> \u3060\u3051\u3067\u3082\u826f\u3044\u3002<br>\n<code>-x<\/code> \u306f\u3001\u81ea\u5df1\u7f72\u540d\u8a3c\u660e\u66f8\u306b\u3059\u308b\u3053\u3068\u3092\u6307\u5b9a\u3059\u308b\u3002<br>\n<code>-d sql:\/var\/lib\/ipsec\/nss<\/code> \u306f\u3001\u8a3c\u660e\u66f8\u30b9\u30c8\u30a2\u306e\u30d1\u30b9\u3092\u8868\u3059\u3002sql: \u3092\u4ed8\u3051\u3066\u304a\u304b\u306a\u3044\u3068 libreswan \u304b\u3089\u5229\u7528\u3067\u304d\u306a\u3044\u306e\u3067\u6ce8\u610f\u3002<\/p>\n\n\n\n<h3>1.3 \u30db\u30b9\u30c8\u9375\u30fb\u8a3c\u660e\u66f8\u306e\u4f5c\u6210<\/h3>\n\n\n\n<p>\u6b21\u306b\u3001vpn1 \u306e\u30db\u30b9\u30c8\u9375\/\u8a3c\u660e\u66f8\u30bb\u30c3\u30c8\u3092\u4f5c\u308b\u3002\u9014\u4e2d\u3067\u30ad\u30fc\u30dc\u30fc\u30c9\u304b\u3089\u306e\u5165\u529b\u3092\u6c42\u3081\u3089\u308c\u308b\u306e\u306f\u5148\u307b\u3069\u3068\u540c\u69d8\u3067\u3042\u308b\u3002<br>\n<code>user@vpn1:~$ sudo certutil -S -k rsa -c ca -n vpn1 -s \"CN=vpn1.example.com\" -v 60 -t \"u,u,u\" -d sql:\/var\/lib\/ipsec\/nss<\/code><\/p>\n\n\n\n<p>\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3002<br>\n<code>-c<\/code> \u3067\u3001\u5148\u307b\u3069\u4f5c\u6210\u3057\u305f CA \u9375 (\u30cb\u30c3\u30af\u30cd\u30fc\u30e0\u304c &#8220;ca&#8221;) \u3067\u306e\u7f72\u540d\u3092\u6307\u5b9a\u3059\u308b\u3002<br>\n<code>-n<\/code> \u306f\u3001\u3053\u306e\u9375\/\u8a3c\u660e\u66f8\u306e NSS \u30b9\u30c8\u30a2\u5185\u3067\u306e\u30cb\u30c3\u30af\u30cd\u30fc\u30e0\u3092\u6307\u5b9a\u3059\u308b\u3002\u3042\u3068\u3067\u3053\u308c\u3092\u5229\u7528\u3059\u308b\u3002<br>\n<code>-s<\/code> \u306f\u3001\u8a3c\u660e\u66f8\u306e CN (\u30b3\u30e2\u30f3\u30cd\u30fc\u30e0) \u3092\u6307\u5b9a\u3059\u308b\u3002\u3053\u3053\u3067\u306f vpn1 \u306e FQDN \u306b\u3057\u3066\u304a\u304f\u3002<br>\n<code>-t \"u,u,u\"<\/code> \u306f\u3001\u8a3c\u660e\u66f8\u306e\u4fe1\u983c\u5c5e\u6027\u3092\u6307\u5b9a\u3059\u308b\u3002u \u306f\u30e6\u30fc\u30b6\u8a3c\u660e\u66f8\u3092\u8868\u3059\u3002<\/p>\n\n\n\n<p>\u3055\u3089\u306b\u3001\u540c\u3058\u4f5c\u308a\u65b9\u3067 vpn2 \u7528\u306e\u9375\u30fb\u8a3c\u660e\u66f8\u3092\u4f5c\u308b\u3002\u540c\u69d8\u306b\u3001\u30e9\u30f3\u30c0\u30e0\u30ad\u30fc\u5165\u529b\u304c\u6c42\u3081\u3089\u308c\u308b\u3002<br>\n<code>user@vpn1:~$ sudo certutil -S -k rsa -c ca -n vpn2 -s \"CN=vpn2.example.com\" -v 60 -t \"u,u,u\" -d sql:\/var\/lib\/ipsec\/nss<\/code><\/p>\n\n\n\n<p>\u3053\u3053\u307e\u3067\u3067 CA \u3068 vpn1 \u3068 vpn2 \u306e 3\u30bb\u30c3\u30c8\u306e\u9375\u30fb\u8a3c\u660e\u66f8\u304c\u4f5c\u6210\u3067\u304d\u305f\u3002<\/p>\n\n\n\n<h3>1.4 vpn2 \u7528\u306e\u9375\u3068\u8a3c\u660e\u66f8\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u30fb\u30a4\u30f3\u30dd\u30fc\u30c8<\/h3>\n\n\n\n<p>vpn2 \u306e\u9375\u30fb\u8a3c\u660e\u66f8\u3068\u3001CA \u8a3c\u660e\u66f8\u3092\u30d5\u30a1\u30a4\u30eb\u3078\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3057\u3066\u3001vpn2 \u3078\u6301\u3063\u3066\u3044\u304f\u3002\u9375\u3092\u542b\u3080\u30d5\u30a1\u30a4\u30eb\u306f PEM \u5f62\u5f0f\u3067\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3059\u308b\u65b9\u6cd5\u304c\u7121\u3044\u306e\u3067\u3001PKCS#12 \u5f62\u5f0f\u3067\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3059\u308b\u3002<br>\n<code>user@vpn1:~$ sudo certutil -L -n ca -a -d sql:\/var\/lib\/ipsec\/nss &gt; ca.pem<br>\nuser@vpn1:~$ sudo pk12util -n vpn2 -o vpn2.p12 -d sql:\/var\/lib\/ipsec\/nss<br>\nEnter password for PKCS12 file: password (\u9069\u5f53\u306b\u6c7a\u3081\u305f PKCS#12 \u30d5\u30a1\u30a4\u30eb\u7528\u30d1\u30b9\u30ef\u30fc\u30c9)<br>\nRe-enter password: password (\u518d\u5ea6\u5165\u529b)<br>\npk12util: PKCS12 EXPORT SUCCESSFUL<br>\nuser@vpn1:~$ sudo chown user vpn2.p12<\/code><\/p>\n\n\n\n<p>\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092 vpn2 \u3078\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b3\u30d4\u30fc\u3059\u308b\u3002<br>\n<code>user@vpn1:~$ scp ca.pem vpn2.p12 vpn2:<br>\nuser@vpn1:~$ rm ca.pem vpn2.p12<\/code><\/p>\n\n\n\n<p>vpn2 \u5074\u3067\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\u3002<br>\n<code>user@vpn2:~$ sudo certutil -A -a -i ca.pem -n ca -t 'CT,,' -d sql:\/var\/lib\/ipsec\/nss<br>\nuser@vpn2:~$ sudo pk12util -i vpn2.p12 -d sql:\/var\/lib\/ipsec\/nss<br>\nEnter password for PKCS12 file: password (\u5148\u307b\u3069\u6c7a\u3081\u305f\u30d1\u30b9\u30ef\u30fc\u30c9)<br>\npk12util: PKCS12 IMPORT SUCCESSFUL<br>\nuser@vpn2:~$ rm ca.pem vpn2.p12<\/code><\/p>\n\n\n\n<h2>2. libreswan \u306e\u8a2d\u5b9a<\/h2>\n\n\n\n<h3>2.1 vpn1 \u5074<\/h3>\n\n\n\n<p>vpn1 \u306e libreswan \u8a2d\u5b9a\u3092\u7de8\u96c6\u3059\u308b\u3002<\/p>\n\n\n\n<p><code>user@vpn1:~$ sudo vi \/etc\/ipsec.d\/linux-to-linux.conf<\/code><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">conn linux-to-linux\n\tauthby=rsasig\n\tauto=add\n\tdpdaction=clear\n\tleftcert=vpn1\n\tleftid=\"CN=vpn1.example.com\"\n\tleft=198.51.100.100\n\tleftsubnet=10.0.1.0\/24\n\trightid=\"CN=vpn2.example.com\"\n\tright=203.0.113.100\n\trightsubnet=10.0.2.0\/24<\/pre>\n\n\n\n<p>leftcert \u306b vpn1 \u3092\u6307\u5b9a\u3059\u308b\u3002\u3053\u308c\u306f vpn1 \u8a3c\u660e\u66f8\u3092\u4f5c\u6210\u3057\u305f\u6642\u306e\u30cb\u30c3\u30af\u30cd\u30fc\u30e0\u3092\u6307\u5b9a\u3057\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<p>leftid\u3001rightid \u306f\u3001\u305d\u308c\u305e\u308c\u306e\u7aef\u70b9\u306e Peer ID \u3067\u3042\u308b\u3002\u8a3c\u660e\u66f8\u306e CN \u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u30c0\u30d6\u30eb\u30af\u30a9\u30fc\u30c6\u30fc\u30b7\u30e7\u30f3\u3067\u56f2\u3063\u3066\u6307\u5b9a\u3059\u308b\u3002<\/p>\n\n\n\n<h3>2.2 vpn2 \u5074<\/h3>\n\n\n\n<p>vpn2 \u306e\u65b9\u3082\u540c\u69d8\u306b\u8a2d\u5b9a\u3059\u308b\u3002<\/p>\n\n\n\n<p><code>user@vpn2:~$ sudo vi \/etc\/ipsec.d\/linux-to-linux.conf<\/code><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">conn linux-to-linux\n\tauthby=rsasig\n\tauto=start\n\tdpdaction=restart\n\tleftcert=vpn2\n\tleftid=\"CN=vpn2.example.com\"\n\tleft=203.0.113.100\n\tleftsubnet=10.0.2.0\/24\n\trightid=\"CN=vpn1.example.com\"\n\tright=198.51.100.100\n\trightsubnet=10.0.1.0\/24<\/pre>\n\n\n\n<h3>2.3 \u518d\u8d77\u52d5<\/h3>\n\n\n\n<p>\u30c7\u30fc\u30e2\u30f3\u3092\u518d\u8d77\u52d5\u3059\u308b\u3002<br>\n<code>user@vpn1:~$ sudo systemctl restart ipsec<br>\nuser@vpn2:~$ sudo systemctl restart ipsec<\/code><\/p>\n\n\n\n<h3>2.4 \u78ba\u8a8d<\/h3>\n\n\n\n<p>\u63a5\u7d9a\u72b6\u614b\u3092\u78ba\u8a8d\u3059\u308b\u3002<\/p>\n\n\n\n<p><code>user@vpn1:~$ sudo ip xfrm state<br>\nsrc 203.0.113.100 dst 198.51.100.100<br>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proto esp spi 0xc8f7a785 reqid 16389 mode tunnel<br>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;replay-window 32 flag af-unspec<br>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;auth-trunc hmac(sha1) 0xed85061c48c4fbc2dcce034191fb5a5a7c12d9e3 96<br>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enc cbc(aes) 0x7e39a613f56f3cb06b022561c0a8e65b<br>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anti-replay context: seq 0x0, oseq 0x0, bitmap 0x00000000<br>\nsrc 198.51.100.100 dst 203.0.113.100<br>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proto esp spi 0x90027aeb reqid 16389 mode tunnel<br>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;replay-window 32 flag af-unspec<br>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;auth-trunc hmac(sha1) 0xf3fa1c2609590b83e4c9c95b1ad38d80492f267a 96<br>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enc cbc(aes) 0x9e039bf741f7a4c7a9e1920d241fae65<br>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;anti-replay context: seq 0x0, oseq 0x0, bitmap 0x00000000<\/code><\/p>\n\n\n\n<p>\u53c2\u8003:<br>\n<a href=\"https:\/\/libreswan.org\/wiki\/HOWTO:_Using_NSS_with_libreswan\">HOWTO: Using NSS with libreswan<\/a><br>\n<a href=\"http:\/\/www.nina.jp\/server\/redhat\/certutil\/certutil.html\">certutil\u306b\u3088\u308b\u8a3c\u660e\u66f8\u7ba1\u7406 [Fedora14]<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>libreswan \u3092\u4f7f\u3063\u3066\u3001IPsec \u306e X.509 \u8a3c\u660e\u66f8\u8a8d\u8a3c\u3092\u691c\u8a3c\u3059\u308b\u3002 \u691c\u8a3c\u74b0\u5883\u306f\u524d\u56de\u8a18\u4e8b\u3068\u540c\u69d8\u3067\u3001\u4ee5\u4e0b\u306e\u56f3\u306e\u901a\u308a\u3067\u3042\u308b\u3002 vpn1\u3001vpn2\u3001host1\u3001host2\u3001router1 OS \u306f\u5168\u3066 Ubuntu [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[13,9,15,12,7],"tags":[],"_links":{"self":[{"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/posts\/968"}],"collection":[{"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fsck.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=968"}],"version-history":[{"count":0,"href":"https:\/\/fsck.jp\/index.php?rest_route=\/wp\/v2\/posts\/968\/revisions"}],"wp:attachment":[{"href":"https:\/\/fsck.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=968"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fsck.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=968"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fsck.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}