VPNサーバを自前で格安構築する手順

シェアする

日本の格安VPSでVPN!

 VPS+VPN鯖で速度テスト

最近、VPSの価格が高機能でありながらお手軽に始められる価格まで下がっている。VPSと言っても普通のサーバと変わるところはない。そこで、さくらインターネットのVPSGMO(お名前.com)のVPS試したので、構築手順と結果をご紹介。

構築手順

OSはCentOSの6.xを前提として記載する。ほかのLinuxでも構築手順はあまり変わらないと思うが、詳細は自身で調べてもらえれば幸いだ。また、環境次第でいろいろと変更箇所があると思うが割愛する。

なお、下記の手順はさくらインターネットのVPSでの方法だが、ほかのVPSでも同じである。

0.日本語化

# vi /etc/sysconfig/i18n

LANG=”C”

→ LANG=”ja_JP.UTF-8″

変更後reboot

1.ダウンロード

http://www.softether-download.com/ja.aspx?product=softether
→ SoftEther VPN Server

# wget http://jp.softether-download.com/files/softether/v4.15-9546-beta-2015.04.05-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.15-9546-beta-2015.04.05-linux-x64-64bit.tar.gz

2.解凍/インストール

# tar xzvf softether-vpnserver-v4.15-9546-beta-2015.04.05-linux-x64-64bit.tar.gz

コンパイル

# cd vpnserver/

# make

コンパイルでコケる場合は、”# yum install gcc”で開発環境投入。

途中でライセンス条項が出てくるので”1”(同意する)を選択。コンパイルが終わると以下のような画面になる。

配置

# cd ..
# mv vpnserver /usr/local

権限変更

# cd /usr/local/vpnserver/
# chmod 600 *
# chmod 700 vpncmd
# chmod 700 vpnserver

動作確認

# ./vpncmd
VPN Tools>check

チェックツールが正常に完了すると以下の画面に。このチェックツール自体はコンパイル直後に実は動いているので、そこで問題なければ不要。

スクリプト作成

# vi /etc/init.d/vpnserver


#!/bin/sh
# chkconfig: 2345 99 01
# description: SoftEther VPN Server
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
test -x $DAEMON || exit 0
case “$1” in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo “Usage: $0 {start|stop|restart}”
exit 1
esac
exit 0

権限変更

# chmod 755 /etc/init.d/vpnserver

サービス登録

# /sbin/chkconfig –add vpnserver

サービス確認

# /etc/init.d/vpnserver start

3.FW通信設定

eth0はNIC次第、IPについても同様。

# iptables -A INPUT -p tcp -m tcp –dport 443 -j ACCEPT
# iptables -A INPUT -p tcp -m tcp –dport 5555 -j ACCEPT
# iptables -A INPUT -p udp -m udp –dport 500 -j ACCEPT
# iptables -A INPUT -p udp -m udp –dport 4500 -j ACCEPT
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.30.0/24 -j MASQUERADE
# service iptables save

フォワード設定

# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1

確認

cat /etc/sysconfig/iptables



# Generated by iptables-save v1.4.7 on Fri Apr 24 17:37:23 2015
*nat
:PREROUTING ACCEPT [17:1398]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 192.168.30.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Fri Apr 24 17:37:23 2015
# Generated by iptables-save v1.4.7 on Fri Apr 24 17:37:23 2015
*filter
:INPUT DROP [1911:337584]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4746:1640376]
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp ! –tcp-flags FIN,SYN,RST,ACK SYN -m state –state NEW -j DROP
-A INPUT -p tcp -m tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp –dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 465 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 110 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 995 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 5555 -j ACCEPT
-A INPUT -p udp -m udp –dport 500 -j ACCEPT
-A INPUT -p udp -m udp –dport 4500 -j ACCEPT
COMMIT
# Completed on Fri Apr 24 17:37:23 2015

設定後reboot

4.SoftEther設定

  • SoftEther VPN Server Manager起動
  • 仮想HUN作成
  • ユーザアカウント作成
  • L2TP設定/OpenVPN,MS-SSTP設定

利用ポートはSoftEtherのサイトに記載あるとおり。L2TPの場合、UDPポート 500、4500(IPSecありの場合)。

ローカルブリッジ設定
  • 仮想HUB(作成したモノ)
  • 新しいtapデバイスとのブリッジ接続(デバイス名:vpn)
仮想NATおよび仮想DHCPの設定
  • SecureNAT機能有効
  • SecureNAT機能設定
  • 仮想NAT無効
  • デフォルトゲートウェイ:192.168.30.2
  • DNS:割り振り
  • ifconfig tap_vpn 192.168.30.2 netmask 255.255.255.0
起動スクリプト変更(追加)

sleep 3
ifconfig tap_vpn 192.168.30.2 netmask 255.255.255.0

速度テスト

自宅に鯖を作成した時の速度テスト(参考:自前でVPNサーバを構築するのは損?得?)と比較する。

GMO(お名前.com)のVPSに直接接続した場合の速度。サーバは東京とする。

VPS+VPN鯖で速度テスト-直接接続で0.66Mbps。PING93と低速。

かなり遅い…。夜間だからだろうか?続いてさくらインターネットのVPS

VPS+VPN鯖で速度テスト-さくらインターネットだと多少よくて46PINGで0.83Mbps

どちらもどっこいどっこいか?大手VPN+自前VPNで日本環境を構築でも記載したとおり、海外に出るまでに邪魔されている可能性があるので、大手VPN(HMA)経由でテスト。

VPS+VPN鯖で速度テスト-HMAかませると7.75Mbpsまで回復

GMO(お名前.com)のVPSの速度が劇的に回復。PINGもほぼ半減。さくらインターネットのVPSで同様のテスト実施。

VPS+VPN鯖で速度テスト-さくらインターネットでもほぼ10倍の速度に

まとめ

そんなスピードで本当に満足か!?というよりも、ここまで金盾が邪魔をしているのかと思うと、げんなりする結果といえる。

私の場合、HMAで速度を確保して、VPS上の固定IPで巡回することが多い。これならば、身元をよく見るようなサイトでも利用ができるし、速度も十二分だ。

いずれにしてもVPNを利用する場合でも、そのサーバまでの距離がどの程度近いのか、また、そのサーバのバックボーンの太さでかなり大きく変化すると言える。コメントにもあるが、「中小業者のVPNが安定してない」の裏付けになるのではないだろうか。

コメント

  1. やま より:

    ご無沙汰してます。
    LUMIA640XL購入したので、このWindows PhoneにVPNを入れようと思って、お勧めはありますか?

    • やまさん

      コメントありがとうございます。
      VPNについて…ということであれば、ココ(中国おすすめVPN(2015年版))に記載しているとおりです。
      Windows Phoneであれ、iPhoneであれ、Androidであれ基本同じです。VPNは基本OSに依存しないからです。
      少なくとも上海については…ですが。

      逆にWindows Phoneならでは…になると私にはわからないです。
      というのもハードがないので(笑)