- blogs:
- cles::blog
2017/09/03

SoftEther を AES-NI を有効にしてビルドする

SoftEther の稼働状況をチェックしていたら、AES-NI*1 が有効化されていなかったので、先日のリージョンロック解除と合わせてビルドする方法を作ってみました。
ちょっと強引ですが、現状の 4.22 であれば以下の手順でビルドできます。
インストールは自体はバイナリ配布されているものを使って、あとでビルドした bin/vpnserver/vpnserver だけを差し替えるのが楽です。
# ダウンロード
wget https://software.intel.com/sites/default/files/article/181731/intel-aesni-sample-library-v1.2.zip
wget http://jp.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Source_Code/softether-src-v4.22-9634-beta.tar.gz
wget https://raw.githubusercontent.com/el1n/OpenWRT-package-softether/master/softethervpn/patches/102-regionunlock.patch
# 展開
tar zxvf softether-src-v4.22-9634-beta.tar.gz
unzip intel-aesni-sample-library-v1.2.zip
# intel_aes64.a のビルド、パッチ生成
cd Intel_AESNI_Sample_Library_v1.2/
./mk_lnx64_all.sh
cat << EOS > ../enable_aesni.patch
--- Makefile.org 2017-09-03 18:17:32.081384466 +0900
+++ Makefile 2017-09-03 18:21:40.517256042 +0900
@@ -29,9 +29,9 @@
OPTIONS_LINK_DEBUG=-g -fsigned-char -m64 -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz
-OPTIONS_COMPILE_RELEASE=-DNDEBUG -DVPN_SPEED -DUNIX -DUNIX_LINUX -DCPU_64 -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -D_FILE_OFFSET_BITS=64 -I./src/ -I./src/Cedar/ -I./src/Mayaqua/ -O2 -fsigned-char -m64
+OPTIONS_COMPILE_RELEASE=-DUSE_INTEL_AESNI_LIBRARY -DNDEBUG -DVPN_SPEED -DUNIX -DUNIX_LINUX -DCPU_64 -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -D_FILE_OFFSET_BITS=64 -I./src/ -I./src/Cedar/ -I./src/Mayaqua/ -O2 -fsigned-char -m64
-OPTIONS_LINK_RELEASE=-O2 -fsigned-char -m64 -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz
+OPTIONS_LINK_RELEASE=-O2 `pwd`/intel_aes_lib/lib/x64/intel_aes64.a -fsigned-char -m64 -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz
INSTALL_BINDIR=/usr/bin/
INSTALL_VPNSERVER_DIR=/usr/vpnserver/
EOS
# SoftEther へのパッチ当て、ビルド
cd ../v4.22-9634/
patch -p1 < ../102-regionunlock.patch
./configure
patch < ../enable_aesni.patch
make
ちなみにそもそも自分の使っている CPU が AES-NI に対応しているかについては以下の手順で調べることができます。
† 参考
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/9582
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . Solr-rubyで複数のドキュメントを一括Post(32980)
2 . Windows 10 で勝手にログアウトされないようにする(31161)
3 . Word で数式がグレーアウトされていて挿入できないときは(26616)
4 . リモートデスクトップで Alt + PrtSc と同じことをするには(22077)
5 . Visual Studio 2017/2019 で scanf() がエラー(C4996)になるときは(21380)
2 . Windows 10 で勝手にログアウトされないようにする(31161)
3 . Word で数式がグレーアウトされていて挿入できないときは(26616)
4 . リモートデスクトップで Alt + PrtSc と同じことをするには(22077)
5 . Visual Studio 2017/2019 で scanf() がエラー(C4996)になるときは(21380)
cles::blogについて
Referrers