show log include yuh

勉強したことの復習を兼ねて、IT関係(ネットワーク/サーバ/アプリケーション)についてまとめてます。たまに趣味のこと

スポンサーリンク

Softether on Raspberry Pi において、自分自身にアクセス

概要

こちらの記事にて、追加NICなしでSoftetherサーバにアクセスできるとコメントをいただきました。
実家にラズベリーパイを置いてあるため、今回このラズベリーパイを使って実装しようと思います。
自分自身にアクセスできない理由は以下の記事にあります。 今回はインターフェイスをブリッジして自分自身にアクセスできるようにします。 yunabe.hatenablog.com

ブリッジインターフェイスの作成するためインストール

apt install bridge-utils

ブリッジインターフェイスの作成

br0にeth0をブリッジさせる。
vi /etc/network/interface

auto eth0
iface eth0 inet static
address 0.0.0.0

auto br0
iface br0 inet static
address x.x.x.x
netmask x.x.x.x
broadcast x.x.x.x
gateway x.x.x.x
bridge_port eth0
bridge_maxwait 1

tap インターフェイスを作成

Softetherの管理画面にてtapインターフェイスを作成し、仮装HUBに接続する。
今回はSoftetherという名前を作った。

起動スクリプトの作成

vi /etc/init.d/vpnserver

#!/bin/sh
### BEGIN INIT INFO
# Provides:       vpnserver
# Required-Start: $local_fs $network
# Required-Stop:  $local_fs $network
# Default-Start:  2 3 4 5
# Default-Stop:   0 1 6
# Description:    SoftEther VPN Server
### END INIT INFO
 
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/vpnserver
 
vpn_start() {
    ${DAEMON} 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}
}
 
vpn_stop() {
    ${DAEMON} stop
}
 
test -x ${DAEMON} || exit 0
 
case "$1" in
start)
    vpn_start
    touch ${LOCK}
    ;;
stop)
    vpn_stop
    rm ${LOCK}
    ;;
restart)
    vpn_stop
    sleep 3
    vpn_start
    ;;
*)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac

再起動

作成したインターフェイスが適用させるため再起動します。
reboot

作成したインターフェイスの確認

今回作成したtap_softetherがあるか確認する。
ifconfig

brctl show br0
br0にブリッジされているかを確認する。

bridge name     bridge id               STP enabled     interfaces
br0             xxxx.yyyyyyyyyyyy         no              eth0
                                                        tap_softether

されていなかった場合

brctl addif br0 tap_softether

これで自分自身にアクセスができるようになっているはずです。