デジタルな窓からの脱却

✖Chromebookで脱Windowsを目指す! ⭕デスクトップきたら本気出す!!

OpenWrt用OpenVPNの設定方法【まとめ】

2023/08/19 ファイアウォールの設定辺りを修正

OpenVPNのセッティング

 ▶ システム>ソフトウェア>リスト更新かけて

   luci-i18n-openvpn-ja(+luci-app-openvpn)

   openvpn-openssl

   openvpn-easy-rsa

  適当に ステータス>概要 なんかで画面更新すると VPN ができてる

 ▶ MobaXtermでSSHログイン

mobaxterm.mobatek.net

 

# cd /etc/easy-rsa
# easyrsa init-pki
# easyrsa build-ca nopass
# easyrsa build-server-full openvpn-server nopass
# easyrsa build-client-full openvpn-client nopass
# easyrsa gen-dh
# openvpn --genkey secret /etc/openvpn/tlscrypt.key
  →バージョンによっては # openvpn --genkey --secret /etc/openvpn/tlscrypt.key

 

エラーでても気にしない yes!

何か聞かれたらホスト名でも入れとけ!!

gen-dhは少し時間かかる!!!

サーバー側の設定

 ▶ 上の作業後(MobaXterm/SSH接続したまま)、

  etc>config>openvpn を右クリック→Open with default text editer で開く

  そのままエディターで下記へ丸ごと差し替える

config openvpn 'router_server'
 option enabled '1'
 option dev 'tun0'
 option port '1194'
 option proto 'udp'
 option compress 'stub-v2'
 option dh        '/etc/easy-rsa/pki/dh.pem'
 option ca        '/etc/easy-rsa/pki/ca.crt'
 option cert      '/etc/easy-rsa/pki/issued/openvpn-server.crt'
 option key       '/etc/easy-rsa/pki/private/openvpn-server.key'
 option tls_crypt '/etc/openvpn/tlscrypt.key'
 option remote_cert_tls 'client'
 option key_direction '0'
 option keepalive '10 120'
 option persist_tun '1'
 option persist_key '1'
 option user 'nobody'
 option group 'nogroup'
 option verb '5'
 option server '192.168.255.0 255.255.255.0'
 option topology 'subnet'
 list push 'redirect-gateway def1'
 list push 'dhcp-option DOMAIN myhomelan'
 list push 'dhcp-option DNS 192.168.1.1'
 list push 'persist-tun'
 list push 'persist-key'

  ▶▶TCP接続にする場合は option proto 'udp'→option proto 'tcp-server'

  MobaXtermでの作業は終了

 

 ▶ ネットワーク>インターフェイス

  インターフェイスを新規作成

    >名前[OpenVPN(適当)] / プロトコル[アンマネージド]

    デバイスはカスタムに[tun0]入力

    ファイヤウォールゾーンをLANに割り当て 保存、適用

  作成されたOpenVPNインターフェイスを再起動

 ▶ ネットワーク>ファイアウォール>トラフィック・ルールに↓追加

  保存、適用

  ※WANからの1194を通過させるだけでいいはずなのに、送信元WAN・送信元ポート1194、宛先ポート空白ではできず、↑でしか動かなかった

 ▶ネットワーク>ファイアウォール>ポートフォワーディングに↓追加

  ※ポートフォワーディングはルーター傘下のVPN専用端末がある場合に使用するものと思っていたが、単独ルーター(内でVPNも動かす)時も設定した方が安定した

  保存・適用

 

クライアント用ovpnファイルの作成

client
dev tun0
proto udp
remote xxxx.xxx.xxx 1194 # 固定IP or DDNS
resolv-retry infinite
nobind
remote-cert-tls server
key-direction 1
compress stub-v2
verb 5

<ca> # etc/easy-rsa/pki/ca.crt
-----BEGIN CERTIFICATE-----
・・・・・
-----END CERTIFICATE-----
</ca>
<cert> # etc/easy-rsa/pki/issued/openvpn-client〇.crt 【追加時】
Certificate:
    Data:
・・・・
    Signature Algorithm: sha256WithRSAEncryption
・・・・
    Signature Algorithm: sha256WithRSAEncryption
・・・・
-----BEGIN CERTIFICATE-----
・・・・
-----END CERTIFICATE-----
</cert>
<key> # etc/easy-rsa/pki/private/openvpn-client〇.key 【追加時】
-----BEGIN PRIVATE KEY-----
・・・・
-----END PRIVATE KEY-----
</key>
<tls-crypt> # etc/openvpn/tlscrypt.key
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
・・・・
-----END OpenVPN Static key V1-----
</tls-crypt>

 ▶ Win上でも適当にテキストファイルにコピーして、.txt→.ovpn

  名前は適当にOVPN-Client.ovpnとでも

 ▶ 該当箇所(4ヶ所)をそれぞれMobaXtermのエディターで開いてコピペ

 ▶ できた.ovpnファイルを泥機(あいぽん)のOpenVPNアプリで開いて接続

 

  ▶▶TCP接続にする場合は proto udp→proto tcp-client

 

補足

 verbは5にしてるので同時接続は5台まで

 2台目以降の.ovpnファイルはMobaXtermSSHで

# cd /etc/easy-rsa
# easyrsa build-client-full openvpn-client〇 nopass

 で、clientのkeyとcertが追加されるので

 クライアント用ファイルの【追加時】のところにコピペ

 名前も間違わないようにOVPN-Client〇.ovpnにしとく

 

 WANのPPPoE設定お忘れなく

 DDNS使ってるならシステム>スケジュールタスクなど細かい設定もお忘れなく