前回の投稿で、Softether VPN Serverとソースからのインストール方法について説明しました。 過去に、私はこのサーバーに非常に失望しました。なぜなら、常に通常の速度で動作させることができなかったからです。 私は開発者フォーラムに書きましたが、問題について明確な答えが得られませんでした。まあ、何もすることはありません。別のソリューションを選択する必要があります。
StrongSwan VPNサーバーを試しましたが、サーバーの構成が困難であることがわかりました。また、http-proxyを介してお金を稼ぐことができませんでした(また、そうすべきではありません)。
最終的に、Cisco AnyConnectサーバーの無料で優れた実装であるOpen Connect Serverを選択しました。
皆さんの多くは、Ciscoルーター専用のvpnserverであるAny Connectサーバーに精通していると思います。
残念ながら、このプログラムがDebianリポジトリにあるか他のプログラムにあるかについては情報がありませんが、ソースから収集することができます。
...
InstallNettle()
{
if ["$ isget" = "get"]
それから
rm -rfv ./nettle*
wget -c ftp.gnu.org/gnu/nettle/nettle-2.7.1.tar.gz
tar -xvf nettle-2.7.1.tar.gz
fi
cd nettle-2.7.1
#autoreconf
./configure --prefix = / --host = $ HOST
check_success
make V = 0 -j 4 LDFLAGS = "-ldl"
check_success
V = 0に設定DESTDIR = $ SYSROOTをインストール
check_success
cd ...
}
InstallGnutls()
{
if ["$ isget" = "get"]
それから
rm -rfv ./gnutls*
git clone git://gitorious.org/gnutls/gnutls.git
fi
cd gnutls
autoreconfを作成する
check_success
./configure --prefix = / --host = $ HOST NETTLE_CFLAGS = "-I $ SYSROOT / include" NETTLE_LIBS = "-L $ SYSROOT / lib -lnettle" \
HOGWEED_CFLAGS = "-I $ SYSROOT / include" HOGWEED_LIBS = "-L $ SYSROOT / lib -lhogweed" \
--disable-doc --with-default-trust-store-file = "/ etc / ssl / ca-bundle.crt" --enable-local-libopts = yes
check_success
V = 0 -j 4にする
check_success
V = 0に設定DESTDIR = $ SYSROOTをインストール
check_success
cd ...
InstallOpenConnect()
{
if ["$ isget" = "get"]
それから
rm -rfv ./ocserv*
git clone git://git.infradead.org/ocserv.git
fi
cd ocserv
autoreconfを作成する
chmod + x ./autogen.sh
./autogen.sh
./configure --prefix = / --host = $ HOST LIBGNUTLS_CFLAGS = "-I $ SYSROOT / include" LIBGNUTLS_LIBS = "-L $ SYSROOT / lib -lgnutls" \
LIBREADLINE_CFLAGS = "-I $ SYSROOT / include / readline" LIBREADLINE_LIBS = "-L $ SYSROOT / lib -lreadline -lncurses" \
--enable-local-libopts = yes
check_success
V = 0を作るAUTOGEN = "autogen"
check_success
sed -i -eの| / bin / true | autogen | g './doc/Makefile
V = 0に設定DESTDIR = $ SYSROOTをインストール
check_success
cd ...
}
}
証明書の生成
#!/ bin / bash
certtool --generate-privkey --outfile ca-key.pem
猫<< _EOF_> ca.tmpl
cn = "loft.dtdns.net"
組織=「ロフト株式会社」
シリアル= 1
expiration_days = 999
ca
signing_key
cert_signing_key
crl_signing_key
_EOF_
certtool --generate-self-signed --load-privkey ca-key.pem --template ca.tmpl --outfile ca-cert.pem
certtool --generate-privkey --outfile server-key.pem
cat << _EOF_> server.tmpl
cn = "loft.dtdns.net"
組織=「ロフト株式会社」
シリアル= 2
expiration_days = 999
signing_key
encryption_key#生成された鍵がRSAのものである場合のみ
tls_www_server
_EOF_
certtool --generate-certificate --load-privkey server-key.pem --load-ca-certificate ca-cert.pem --load-ca-privkey ca-key.pem --template server.tmpl --outfile server -cert.pem
mv -fv ./server-cert.pem / etc /
mv -fv ./server-key.pem / etc /
ocpasswd root -c / etc / ocpasswd
設定ファイル
最大クライアント数= 16
最大同一クライアント= 16
tcp-port = 443
udp-port = 443
キープアライブ= 32400
dpd = 1900
mobile-dpd = 1800
try-mtu-discovery = false
auth = "プレーン[/ etc / ocpasswd]"
server-cert = /etc/server-cert.pem
サーバーキー= /etc/server-key.pem
tls-priorities = "NORMAL:%SERVER_PRECEDENCE:%COMPAT"
auth-timeout = 4000
cookie-timeout = 300
拒否ローミング= false
キー再生成時間= 172800
rekey-method = ssl
use-utmp = true
use-occtl = true
pid-file = /var/run/ocserv.pid
ソケットファイル= / var / run / ocserv-socket
run-as-user = root
run-as-group = root
cgroup = "cpuset、cpu:test"
デバイス= vpns
cisco-client-compat = true
predictable-ips = true
default-domain = example.com
#リースを提供するアドレスのプール。
ipv4-network = 192.168.2.0
ipv4-netmask = 255.255.255.0
dns = 8.8.8.8
ping-leases = false
systemdで実行するユニット
[単位]
説明= OpenConnectサーバー
後= network.target [サービス]
タイプ= forking環境= "LD_LIBRARY_PATH = / lib:/ lib" PIDFile = / var / run / ocserv.pid
ExecStart = / sbin / ocserv --config = / etc / ocserv.conf Restart = always
[インストール]
WantedBy = multi-user.target
コマンド「/ sbin / ocserv --config = / etc / ocserv.conf」でサーバーを起動した後
公式のAnyConnectクライアントを使用して接続できます。
公式iOSアプリから。
最後に、私はプロジェクトが本当に好きだったと言いたいです。 私は開発者に連絡し、彼は非常に迅速かつ詳細に私に答えました。
サーバーは非常にスマートです。速度がまったく低下しないと思いました。
通り過ぎないでください!