banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[Linux] CentOSのVPNプロキシサーバーの設定

以前、VPS の SSH 暗号化トンネルを使用して透明なプロキシを実現する方法について説明しましたが、脱獄されていない iPhone デバイスでは SSH を使用することができず、VPN を使用する必要があります。自分の iPhone で GFW を回避するために、最近自分の VPS 上で PPTP を使用して VPN サービスを構築しました。構築プロセスは比較的簡単です。ここでは CentOS 6.4 を使用していますが、他の Linux ディストリビューションでも基本的な設定は同じです。

1. まず、VPS の PPP と TUN デバイスが正しくインストールされているか確認します。

ls /dev/ppp
ls /dev/net/tun
#または
cat /dev/ppp
cat /dev/net/tun

「No such file or directory」と表示される場合、または「No such device or address」と表示される場合は、インストールされていないことを意味します。通常、VPS プロバイダーに依頼して開いてもらう必要があります。

2.pptp をインストールします。pptp は ppp に依存しているため、まず ppp をインストールする必要があります。

yum install -y ppp
yum install -y pptp

3.VPN 専用のパイプを作成します。

mknod /dev/ppp c 108 0

VPN に接続する際に 619 エラーが発生する場合は、上記のコマンドを実行することもできます。

4./etc/sysctl.conf を編集し、IPv4 フォワーディングを有効にします。ファイルを開いた後、以下の内容を探し、変更します。

net.ipv4.ip_forward=1
net.ipv4.tcp_syncookies=0

/etc/sysctl.conf の変更を有効にする(オプション)

sysctl -p

または、以下のコマンドを実行します。

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/tcp_syncookies

5./etc/pptpd.conf ファイルを編集し、VPN の IP アドレスを設定します。以下を追記します。

localip XXX.XXX.XXX.XXX
remoteip XXX.XXX.XXX.XXX-XXX

localip はローカル IP、つまり自分の IP アドレスです。remoteip はリモートホストに割り当てられる IP アドレスで、通常は連続した IP アドレス範囲を設定します。

6./etc/ppp/options.pptpd ファイルを編集し、VPS サーバーの DNS を変更します。

ms-dns 8.8.8.8
ms-dns 8.8.4.4

7./etc/ppp/chap-secrets ファイルを編集し、VPN 接続のユーザーを設定します。以下の形式で記述します。

username pptpd password *

username: ユーザー名 password: パスワード

または、以下のコマンドを実行します。

echo "username pptpd password *" >> /etc/ppp/chap-secrets

8.iptables の設定を変更し、ファイアウォールを開きます。

iptables -A FORWARD -s XXX.XXX.XXX.XXX/XX -p tcp -m tcp --tcp-flags
FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356

#保存
service iptables save

ここで XXX.XXX.XXX.XXX/XX は、5 番目の手順で設定したリモート IP です。

9. 起動時にサービスを設定します(オプション)

chkconfig iptables on
chkconfig pptpd on

10.pptp と iptables サービスを起動または再起動します。

# service iptables start

service pptpd start#

service iptables restart
service pptpd restart

最後に、CentOS/RHEL 用のワンクリックインストールスクリプトを提供します http://www.diahosting.com/dload/pptpd.sh

使用方法:

wget http://www.diahosting.com/dload/pptpd.sh
sh pptpd.sh

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。