Raspberry Piでネットワーク構築/VPNサーバ設定

提供: Medeshima wiki
ナビゲーションに移動 検索に移動

概要

次の表のとおりである。

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