Edited at

osmc on raspi-zeroW にopenvpnを入れる(#2)


  • vpn経由で、自宅NW(192.168.0.0/24)にアクセスを可能とする

  • 内部DNS(192.168.0.1)を通知する

過去からの変更箇所のみ記載

過去例


/etc/openvpn/server.conf


  • ipv6化して、外部解放できるポートが限られているので、Listenするポート番号はHomeGWでポートフォワードしたポートに合わせる。


/etc/openvpn/server.conf

# cat /etc/openvpn/server.conf  | grep -v '^[#;]' | grep -v '^\s*$' 

port xxxx # HomeGWでフォワードしたポート
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh2048.pem
server 10.8.0.0 255.255.255.0 # serverのアドレス
push "route 192.168.0.0 255.255.255.0" # serverのバックのNW *追加
push "redirect-gateway def1 bypass-dhcp" # clientの通信は全て、VPNへ
push "dhcp-option DNS 192.168.0.1" # clientに通知するDNS
keepalive 10 120
tls-auth /etc/openvpn/ta.key 0
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log /var/run/openvpn.log
explicit-exit-notify 1



systemctlで起動

systemctl restart openvpn

systemctl enable openvpn


iptablesのポートを開放 ---> やらない

exit 0の前に2行追加。xxxxは server.conf で指定したポート。


VPNサーバにするためIPフォワードを有効にします。 ---> 必要 


/etc/sysctl.conf

net.ipv4.ip_forward=1



reboot&NW構成図


Inter-net
||
|| Global-address
[ www.xxx.yyy.zzz ] IPoE-router
[ 192.168.1.1 ]
||
||
[ 192.168.1.254 ] Home-router
[ 192.168.0.1 ]
|| 内部DNS
|| 192.168.0.0/24
++=======================(Home-NW)=========++
||
wlan0 [ 192.168.0.102 ] VPN-Server
tun0 [ 10.8.0.1 ]
||
|| 10.8.0.0/24
++=======================(VPN-NW)==========++
||
||
[ 10.8.0.2 - ** ] VPN-Clients

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
tun0: flags=4305 mtu 1500
inet 10.8.0.1 netmask 255.255.255.255 destination 10.8.0.2
wlan0: flags=-28605 mtu 1500
inet 192.168.0.102 netmask 255.255.255.0 broadcast 192.168.0.255

受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 wlan0
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
192.168.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 wlan0