1.VPN Clientの仮想NICにdhclientでIPが割当たらない
2.VPN Serverに接続できない
2については自宅PCにVPN Cilentをインストールして接続を試みたのですが失敗しました。
以下に使用したスクリプトなどをまとめております。(パスワードなどは実際のものではありません)
Dockerfile:VPN Server構築
Code: Select all
FROM ubuntu:20.04
ENV VERSION v4.43-9799-beta-2023.08.31
ENV SERVERPASS password
ENV HUBNAME VHUB
ENV HUBPASS password
ENV USERNAME user001
ENV USERPASS password
WORKDIR /usr/local/vpnserver
RUN apt-get update && \
apt-get -y upgrade && \
apt-get -y install wget gcc make dos2unix
ADD entrypoint.sh /usr/local/vpnserver/entrypoint.sh
RUN dos2unix /usr/local/vpnserver/entrypoint.sh && \
chmod 755 /usr/local/vpnserver/entrypoint.sh
RUN wget https://jp.softether-download.com/files/softether/${VERSION}-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-${VERSION}-linux-x64-64bit.tar.gz -O /tmp/softether-vpnserver.tar.gz && \
tar -xvf /tmp/softether-vpnserver.tar.gz -C /usr/local/ && \
rm /tmp/softether-vpnserver.tar.gz && \
make && \
apt-get purge -y -q --auto-remove gcc make wget dos2unix
ENTRYPOINT ["/usr/local/vpnserver/entrypoint.sh"]
entrypoint.sh:VPN Server設定
Code: Select all
#!/bin/bash
/usr/local/vpnserver/vpnserver start
sleep 3s
/usr/local/vpnserver/vpncmd /SERVER localhost /CMD DynamicDnsSetHostname $HOSTNAME
/usr/local/vpnserver/vpncmd /SERVER localhost /CMD HubCreate $HUBNAME /PASSWORD:$HUBPASS
/usr/local/vpnserver/vpncmd /SERVER localhost /HUB:$HUBNAME /PASSWORD:$HUBPASS /CMD UserCreate $USERNAME /GROUP:none /REALNAME:none /NOTE:none
/usr/local/vpnserver/vpncmd /SERVER localhost /HUB:$HUBNAME /PASSWORD:$HUBPASS /CMD UserPasswordSet $USERNAME /PASSWORD:$USERPASS
/usr/local/vpnserver/vpncmd /SERVER localhost /HUB:$HUBNAME /PASSWORD:$HUBPASS /CMD SecureNatEnable
/usr/local/vpnserver/vpncmd /SERVER localhost /HUB:$HUBNAME /PASSWORD:$HUBPASS /CMD DhcpGet
/usr/local/vpnserver/vpncmd /SERVER localhost /HUB:$HUBNAME /PASSWORD:$HUBPASS /CMD DhcpEnable
/usr/local/vpnserver/vpncmd /SERVER localhost /CMD ServerPasswordSet $SERVERPASS
tail -f /dev/null
Code: Select all
#!/bin/bash
# Dockerイメージをビルド
docker build -t vpn-server:latest
# VPN Serverを起動
docker run -d --name vpn-server --hostname vpn-server --cap-add NET_ADMIN -p 500:500/udp -p 4500:4500/udp -p 1701:1701/tcp -p 1194:1194/udp -p 5555:5555/tcp vpn-server:latest
Code: Select all
#!/bin/bash
SCRIPT_DIR=$(dirname "$0")
cd "$SCRIPT_DIR"
# 必要なパッケージのインストール
sudo apt install -y make gcc
# SoftEther Clientをダウンロード
sudo wget https://jp.softether-download.com/files/softether/v4.43-9799-beta-2023.08.31-tree/Linux/SoftEther_VPN_Client/64bit_-_Intel_x64_or_AMD64/softether-vpnclient-v4.43-9799-beta-2023.0
tar -xzvf softether-vpnclient-v4.43-9799-beta-2023.08.31-linux-x64-64bit.tar.gz
sudo rm -f softether-vpnclient-v4.43-9799-beta-2023.08.31-linux-x64-64bit.tar.gz
# SoftEther Clientをインストール
cd vpnclient
make
# VPN Clientを起動
sudo $SCRIPT_DIR/vpnclient start
connect-vpn.sh:VPN Client接続
Code: Select all
!/bin/bash
# 環境変数
# NIC NAME
NIC="nic01"
# Account name
ACCOUNT="account"
# Server name
SERVER="vpnserver.softether.net:5555"
# Hub name
HUB="DEFAULT"
# User name
USERNAME="user001"
# Password
PASSWORD="password"
# type (standard or radius)
TYPE="standard"
SCRIPT_DIR=$(dirname "$0")
cd "$SCRIPT_DIR"/vpnclient
# VPN Clientの設定に必要な情報を入力
sudo cat <<EOF > $SCRIPT_DIR/setup.txt
NicCreate $NIC
NicList
AccountCreate $ACCOUNT /SERVER:$SERVER /HUB:$HUB /USERNAME:$USERNAME /NICNAME:$NIC
AccountPasswordSet $ACCOUNT /PASSWORD:$PASSWORD /TYPE:$TYPE
AccountConnect $ACCOUNT
AccountList
EOF
# VPN Clientで接続
sudo $SCRIPT_DIR/vpncmd /client localhost /in:$SCRIPT_DIR/setup.txt
rm $SCRIPT_DIR/setup.txt
# VPN Clientの仮想NICにIPアドレスを設定
sudo dhclient vpn_$NIC