メインコンテンツへスキップ

自宅にVPNを立てた話

·606 文字·2 分
Development

まとめ
#

  • winのsoftether設定クライアントを使うと楽にできる
  • raspiのeth0は基本的にdhcpしちゃうのでオフにしないといけない
  • ルーターのdhcp固定の意義(今回は設定せず)

詰まったところ
#

bridgeとeth0両方にipアドレスが振られてしまう
#

現象

br0: flags=****<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.100  netmask 255.255.255.0  broadcast 192.168.0.255
        <省略>

eth0: flags=****<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.3  netmask 255.255.255.0  broadcast 192.168.0.255

sshもローカルネットワークからのvpnも不可になる。

やったこと

  • ルーターのdhcp固定割り当てをオフにした
  • eth0のdhcpをオフにした
  • ip link set up

RaspberryPiが二重にIPアドレスを取得してしまった件 | 雑談記
これを見るとルーターの設定で直りそうだったので実施。直らず。

eth0のdhcpをオフにしてみる。

sudo nano /etc/dhcpcd.conf

# interface br0より上に記述する。
denyinterfaces eth0

再起動。直らず。

sudo ip link set up br0
sudo ip link set up eth0

再起動。直る。お?

作業内容まとめ
#

softetherを入れる

wget softetherのurl
tar xzvf hoge
cd vpnserver
make

cd ../
sudo rsync -av vpnserver /usr/local
cd /usr/local/
sudo chmod 700 vpnserver
cd vpnserver/
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 700 vpncmd vpnserver
sudo nano /etc/systemd/system/vpnserver.service
nano /usr/local/vpnserver/vpnserver_start
sudo chmod 755 /usr/local/vpnserver/vpnserver_start

systemdの方の内容

[Unit]
Description=SoftEther VPN Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver_start
ExecStop=/usr/local/vpnserver/vpnserver stop
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

vpnserver_startの内容

#!/bin/bash
/usr/local/vpnserver/vpnserver start
sleep 2
tap=`/sbin/ifconfig -a| awk '$1 ~ /^tap/ {print $1}'` tap=`/sbin/ifconfig -a| awk '$1 ~ /^tap/ {print $1}'`
brctl addif br0 ${tap}

bridgeとipの固定など

dhcpcd.conf

# eth0 dhcp disable
denyinterfaces eth0

# Example static IP configuration:
interface br0
static ip_address=192.168.0.250/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

interfaces

# softether
auto br0
iface br0 inet manual
bridge_ports eth0
bridge_maxwait 10

コマンド

sudo apt install -y bridge-utils
sudo brctl addbr br0
sudo brctl addbr br0 eth0
sudo reboot

後はGUIから頑張る

sudo systemctl start vpnserver.service

Taiyo Minagawa (sun-yryr)
著者
Taiyo Minagawa (sun-yryr)