VPNサーバ
概要
次の表のとおりである。
| 項目 | |
|---|---|
| VPNサーバ | OpenVPN |
| 参考 | https://wiki.debian.org/OpenVPN |
Let's encryptの証明書を使用する場合は?
設定
以下の順に行う。
OpenVPNインストール
$ sudo apt install openvpn
再起動しないと、/dev/net/tunがないというエラーが出る。
easy-rsa設定
次のコマンドを実行する。
$ cd /etc/openvpn
$ sudo make-cadir easy-rsa
次のファイルに、以下の設定を行う。
- /etc/openvpn/easy-rsa/vars
set_var EASYRSA_REQ_COUNTRY "ORG_COUNTRY"
set_var EASYRSA_REQ_PROVINCE "ORG_PROVINCE"
set_var EASYRSA_REQ_CITY "ORG_CITY"
set_var EASYRSA_REQ_ORG "ORG_ORG"
set_var EASYRSA_REQ_EMAIL "ORG_EMAIL"
set_var EASYRSA_REQ_OU "ORG_OU"
| 項目 | |
|---|---|
| ORG_COUNTRY | 国 |
| ORG_PROVINCE | 都道府県 |
| ORG_CITY | 市区町村 |
| ORG_ORG | 組織 |
| ORG_EMAIL | メールアドレス |
| ORG_OU | 部署 |
次のコマンドを実行する。
# cd easy-rsa/
# ./easyrsa init-pki
# ./easyrsa build-ca
# ./easyrsa build-server-full server
# ./easyrsa gen-dh
# ./easyrsa build-client-full CLIENT
| 項目 | |
|---|---|
| CLIENT | クライアント名 |
OpenVPN設定
テスト
次のコマンドを実行する。
- サーバ側
$ sudo openvpn --dev tun1 --proto tcp-server --ifconfig 10.9.8.1 10.9.8.2 --tls-server --dh /etc/openvpn/easy-rsa/pki/dh.pem --ca /etc/openvpn/easy-rsa/pki/ca.crt --cert /etc/openvpn/easy-rsa/pki/issued/server.crt --key /etc/openvpn/easy-rsa/pki/private/server.key --reneg-sec 60 --verb 5
- クライアント側
$ sudo openvpn --remote IP 1194 --dev tun1 --proto tcp-client --ifconfig 10.9.8.2 10.9.8.1 --tls-client --ca ca.crt --cert CLIENT.crt --key CLIENT.key --reneg-sec 60 --verb 5
| 項目 | |
|---|---|
| IP | サーバのIPアドレス |
| CLIENT | クライアント名 |
設定ファイル
- サーバ側
$ sudo mkdir /etc/openvpn/log
port 1194
proto tcp
dev tun
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
user nobody
group nogroup
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/dh.pem
server 10.9.8.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /etc/openvpn/log/openvpn-status.log
verb 3
client-to-client
- クライアント側
client
dev tun
proto tcp
remote IP 1194
nobind
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/client.crt
key /etc/openvpn/easy-rsa/pki/private/client.key
comp-lzo
persist-key
persist-tun
verb 3
| 項目 | |
|---|---|
| IP | サーバのIPアドレス |
UFW設定(VPN経由でのインターネットアクセスを許可)
以下の各ファイルに、それぞれの設定を行う。
- /etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"
- /etc/ufw/sysctl.conf
net/ipv4/ip_forward=1
- /etc/ufw/before.rules
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.9.8.0/24 -o INTERFACE -j MASQUERADE
COMMIT
| 項目 | |
|---|---|
| INTERFACE | インタフェース名 |
$ sudo ufw reload