中国からFBやGoogle使うためのVPNサーバー
どこかからの願い
中国でもFacebookで"いいね"したいじゃないですか~(ほんとは違う理由だけど・・)
ということでVPN & Proxyサーバーを作ることにしました。
入れるのはxl2tpd,openswan,squidでございます。
とにかくさっさと作る必要があったので、簡単な方法でいきます。
ぷらっとふぉーむ
環境はAWSで
AMIはなぜかCentosだとうまくいかなかったので(多分自分の問題・・)AmazonLinuxで
amzn-ami-hvm-2015.03.0.x86_64-gp2
前準備
iptables 止める
SELINUX 止める
この辺を入れておく
yum install make gcc gmp-devel bison flex
sysctl.confにこの辺追記してsysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.lo.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
いったんリブート
yum
そう。yumですよ。yum。
epelリポジトリにて
yum install --enablerepo=epel openswan xl2tpd squid
はい、入ったね
chkconfig xl2tpd on
chkconfig ipsec on
chkconfig squid on
設定
ipsecの設定
confを以下のように編集
virtual_private=**は許可するアドレスレンジなので適宜変えてあげる
# cat /etc/ipsec.conf
version 2.0
config setup
dumpdir=/var/run/pluto
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v6:fd00::/8,%v6:fe80::/10
protostack=netkey
include /etc/ipsec.d/*.conf
これはiOS用に必要な設定となる
dpddelay=10
dpdtimeout=20
dpdaction=clear
leftにはサーバーのPrivateIPアドレスを入れる
leftnexthopにはこのサーバーのデフォゲを入れる
# cat /etc/ipsec.d/l2tp-ipsec.conf
conn L2TP-PSK-NAT
rightsubnet=vhost:%priv
dpddelay=10
dpdtimeout=20
dpdaction=clear
also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=3
ikelifetime=8h
keylife=1h
type=transport
left=このサーバーのプライベートIP
leftnexthop=デフォゲ
leftprotoport=17/1701
right=%any
rightprotoport=17/%any
事前共有鍵の設定
例えばfoobar
実機はもっと複雑なのにしよう!
# cat /etc/ipsec.secrets
: PSK "foobar"
xl2tpdの設定
ip rangeがVPN接続後にクライアントに振られるIPアドレスレンジ
local ipがVPN接続時のサーバー側のIPアドレス
# cat /etc/xl2tpd/xl2tpd.conf
[global]
auth file = /etc/ppp/chap-secrets
[lns default]
ip range = 192.168.1.128-192.168.1.254
local ip = 192.168.1.99
require chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
xl2tpdのオプション設定
optionでVPN接続名(例えばfoovpn)やVPN接続後のDNSやログファイルを指定する。
このファイルに書かなくてもいいけど、、とにかくファイルが散ってるなぁ
ログファイルはtouchしておく
touch /var/log/xl2tpd.log
[root@z-prd-vpnproxy01 squid]# cat /etc/ppp/options.xl2tpd
name foovpn
ipcp-accept-local
ipcp-accept-remote
ms-dns 8.8.8.8
auth
crtscts
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
lock
proxyarp
connect-delay 5000
logfile /var/log/xl2tpd.log
接続ユーザーは"foo"
接続VPN名は"foovpn"
パスワードは"bar"
接続元IPアドレスは限定せず*
# cat /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
"foo" "foovpn" "bar" *
squid
ほぼデフォ
変えたところはここだけ
# cat /etc/squid/squid.conf
#http_port 3128
http_port 0.0.0.0:8080
セキュリティグループ
こちらを解放
500:udp
4500:udp
1701:udp
さあ起動
停止と起動
/etc/init.d/squid stop
/etc/init.d/xl2tpd stop
/etc/init.d/ipsec stop
/etc/init.d/squid start
/etc/init.d/xl2tpd start
/etc/init.d/ipsec start
確認
ipsec確認
以下コマンドでfailedとかあったら設定見直そう
# ipsec verify
Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path [OK]
Linux Openswan U2.6.37/K3.14.35-28.38.amzn1.x86_64 (netkey)
Checking for IPsec support in kernel [OK]
SAref kernel support [N/A]
NETKEY: Testing XFRM related proc values [OK]
[OK]
[OK]
Checking that pluto is running [OK]
Pluto listening for IKE on udp 500 [OK]
Pluto listening for NAT-T on udp 4500 [OK]
Checking for 'ip' command [OK]
Checking /bin/sh is not /bin/dash [OK]
Checking for 'iptables' command [OK]
Opportunistic Encryption Support [DISABLED]
接続
iPhoneから
iPhoneからは超絶簡単!
iphoneの設定 -> 一般 -> VPN -> "VPN構成を追加"を押す。
以下の画面になるので、必要な値を入力します。
説明にはVPN名:foovpn
サーバーには:VPNサーバーのグローバルIPアドレス
アカウント:foo
パスワード:bar
プロキシには"手動"を選んでください。
必要な情報を入れます。
サーバーにはVPN貼ったあとのIPアドレス:192.168.1.99
ポートはsquidで設定したポート:8080
あとはVPN接続すればOKです。
pingも飛びました。ブラウジングもOK
Windowsはやっかい。。
VPN接続開始時に"809サーバー応答なし"エラー発生。。
ぶっちゃけこちらのサイトに助けて頂きました。ありがたや~
http://reffi.jp/archives/308
レジストリを変える
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent の
AssumeUDPEncapsulationContextOnSendRule を
"2"
プロキシ設定をVPN単位に行うことでOK!
あとは良好良好^^
ちゃんちゃん
Author And Source
この問題について(中国からFBやGoogle使うためのVPNサーバー), 我々は、より多くの情報をここで見つけました https://qiita.com/pioho07/items/df21aaa0b85a20d47d15著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .