このチュートリアル の手順に従ってvpnサーバーをセットアップしました。これにより、vpnサーバーに接続し、他の場所から事実上インターネットを閲覧できます。これまでのところ、窓からは接続できますが、インターネットにアクセスできません。
Confファイルで使用したIPアドレスは、チュートリアルとまったく同じです
localip 192.168.0.1
remoteip 192.168.0.100-200
8.8.8.8のDNSについても同じです。
(私がしたことについて知っておく必要があることはすべて、そのリンクに既にあります)
何が問題になると思いますか?
VPNサーバーを設定する主な目的がWebサイトへのアクセスである場合、トラフィックはVPNサーバーのパブリックネットワークインターフェイスから転送する必要があります。したがって、sysctl.confファイルを編集してポート転送を有効にしてください。 「net.ipv4.ip_forward」が/etc/sysctl.confファイルでコメントされていると仮定します。
nano /etc/sysctl.conf
次の行を追加または検索してコメント化する
net.ipv4.ip_forward=1
ファイルを保存して閉じ、次のコマンドを実行して変更を有効にします。
sysctl -p
次のiptablesファイアウォールルールは、ポート1723、GREを許可し、NATを実行します
iptables -I INPUT -p tcp --dport 1723 -m state --state NEW -j ACCEPT
iptables -I INPUT -p gre -j ACCEPT
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
最後のルールで、「eth0」をVPNサーバー上のインターネットに接続するインターフェースに置き換えます。最後に、Webサイトが適切にロードされるようにするには、次のルールが必要です
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -s 172.20.1.0/24 -j TCPMSS --clamp-mss-to-pmtu
172.20.1.0/24を/etc/pptpd.confの「remoteip」オプションで使用されるIPアドレス範囲に置き換えます。このファイアウォールルールは、フラグメンテーションを防ぐために適切なMTU値が使用されるようにするために使用されます。
それが役立つことを願っています。
次のコマンドは、Ubuntu 14.xでPPTPDを使用して問題(インターネットなし)を解決しました
iptables -I INPUT -p tcp --dport 1723 -m state --state NEW -j ACCEPT
iptables -I INPUT -p gre -j ACCEPT
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -s 10.0.0.0/24 -j TCPMSS --clamp-mss-to-pmtu
Sudo iptables-save
Sudo iptables -P FORWARD ACCEPT
Sudo iptables -P OUTPUT ACCEPT
Sudo iptables-save
注:/etc/pptpd.conf
でこのIPアドレス範囲10.0.0.0/24を使用しました。設定にも一致する範囲を使用します。