2014年9月某日、やっと私のvpsにも実施されました。
カーネルバージョン("uname -a"の結果)は
Linux dti-vps-srv725 2.6.32-042stab079.5 #1 SMP Fri Aug 2 17:16:15 MSK 2013 i686 GNU/Linuxから
Linux dti-vps-srv725 2.6.32-042stab092.2 #1 SMP Tue Jul 8 10:35:55 MSK 2014 i686 GNU/Linuxへと微妙な更新ですが、中身はすごかった。
ちょっとした冗談のつもりで、Android4.4からPPTPでVPN接続したところ、
何とつながるではありませんか!
vps、androidの両側でifconfigを見ると確かにつながってそうですし、
実際vpn内でpingが通ります。
ついでにiPhone4S(iOS6)からも接続できることを確認しました。
以前書きましたが、
過去Seversman@VPSではカーネルがPPPに非対応でPPTPはできませんでした。
今回めでたくPPP対応を果たしたようです。"/dev/ppp"は動いています!!
もしやということで
# iptables -t nat -A POSTROUTING -s <VPN網のネットワークアドレス>/<VPN網のサブネットマスクビット数> -o venet0 -j MASQUERADEを実行してみると、
昔はMASQUERADEターゲットがないとかエラーが出ていた記憶がありますが、
今回は通ったっぽい。
# iptables-saveで設定内容を確認すると
-A POSTROUTING -s ***.***.***.***/** -o venet0 -j MASQUERADEの文字がはっきり見えます(*は伏せ字)。
で、実際に中継するのかを実際に試してみました。
vpsで
# echo 1 > /proc/sys/net/ipv4/ip_forwardした上でMacからvpn接続してみます。
[システム環境設定]アプリケーションの[ネットワーク]で[+]をクリックし、
[インターフェイス]を"VPN"、[VPNタイプ]を"PPTP"として[作成]をクリックします。
[サーバアドレス]にvps、[アカウント名]を作成済みのものを指定し、
[接続]をクリックした後にそのアカウントのパスワードを入力します。
これでAndroidやiPhoneからと同様にPPTPにてvpnが張れました。
ここまでは単なる追加確認に過ぎません。
とりあえず適当な外部サーバを決めてそのIPアドレスを調べると
"173.***.***.***"(*は伏せ字)だったので、
$ traceroute 173.***.***.***を実行したところ、契約しているISP経由で通信していることが確認できます。
今度は
# route add -net 173.0.0.0/8 <vpnサーバのIPアドレス>を実行した後にもう一度tracerouteしてみると、
経路がvps+DTIを通っています。
一応
# netstat -rnでルーティングテーブルを確認すると指定通りになっています。
Serversman@VPSはiptablesのMASQUERADEに対応しました!!!
別のvpsに乗り換えようか考えたこともありましたが、
同時起動プロセス数の増加の件といい、
Seversman@VPSは結構ユーザの希望を叶えてくれます。
待っていた甲斐がありました。
ところでPPPとMASQUERADEって今回からの対応ですよね?
もしかして以前から対応していたのを私が見逃していたとか?
0 件のコメント:
コメントを投稿