web-dev-qa-db-ja.com

Centos openvpnに接続されていますが、外部インターネットアクセスはありません

CentOS6.4を実行しているVPSサーバーに接続するためにWindows7を使用しています

まず、すべての投稿を読みましたが、問題の解決策が見つかりません

VPNサーバーをopenvpnで構成し、4か月間試してみた後、ようやく動作するようになりました...

だから私は自分のサーバーに接続することになりましたが、これは画期的なことですが、インターネットにアクセスできません:(助けになるためにあなたが何を見る必要があるのか​​わかりませんが、私が知っていることを投稿します

私が理解している限り、サーバーに正常に接続できるので、openvpnを正しく構成しました

使用しているファイアウォールがわかりません。iptablesと呼ばれていると思います。

iptables

# Generated by iptables-save v1.4.7 on Thu Feb 13 17:10:07 2014
*nat
:PREROUTING ACCEPT [721:50130]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Feb 13 17:10:07 2014
# Generated by iptables-save v1.4.7 on Thu Feb 13 17:10:07 2014
*filter
:INPUT DROP [886:120871]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1209:156538]
-A INPUT -p udp --dport 1194 -j ACCEPT
-A INPUT -i tun+ -j ACCEPT
-A FORWARD -i tun+ -j ACCEPT
-A OUTPUT -m state --state NEW -o eth0 -j ACCEPT
-A FORWARD -m state --state NEW -o eth0 -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m comment --comment "SSH" -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5252 -m comment --comment "SecureSSH" -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m state --state NEW,RELATED,ESTABLISHED$
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 0 -m state --state RELATED,ESTABLISHED -j$
COMMIT
# Completed on Thu Feb 13 17:10:07 2014

そして

ifconfig

eth0      Link encap:Ethernet  HWaddr 00:1D:D8:B7:22:17
          inet addr:41.185.26.95  Bcast:41.185.26.255  Mask:255.255.255.0
          inet6 addr: fe80::21d:d8ff:feb7:2217/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6598 errors:0 dropped:0 overruns:0 frame:0
          TX packets:464 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:545682 (532.8 KiB)  TX bytes:51265 (50.0 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:141 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:7352 (7.1 KiB)  TX bytes:0 (0.0 b)

誰かが他に何かを必要としているなら、ただ尋ねてください、私はここで本当に苦労しています、私は他に何をすべきかわかりません...

誰か提案があれば、私はまだLinux初心者なので、何をする必要があるかを説明し、必要に応じてコードも提供してください。本当にありがたいです。

前もって感謝します

iptablesを編集しました:)

# Generated by iptables-save v1.4.7 on Thu Feb 13 17:10:07 2014
*nat
:PREROUTING ACCEPT [721:50130]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Feb 13 17:10:07 2014
# Generated by iptables-save v1.4.7 on Thu Feb 13 17:10:07 2014
*filter
:INPUT DROP [886:120871]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1209:156538]
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -i tun0 -j ACCEPT
-A FORWARD -i tun0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
-A OUTPUT -m state --state NEW -o eth0 -j ACCEPT
-A FORWARD -m state --state NEW -o eth0 -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m comment --comment "SSH" -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5252 -m comment --comment "SecureSSH" -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m state --state NEW,RELATED,ESTABLISHED -j A$
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 0 -m state --state RELATED,ESTABLISHED -j ACCE$
COMMIT
# Completed on Thu Feb 13 17:10:07 2014

ワーキング!!!

4
Charlie Dyason

みなさん、こんにちは。

私はIPtablesの助けを求めている人のための「チュートリアル」として書いています

私はさまざまなルールを試してきましたが、多くのヒアリングとiptablesがフラッシュした後、tun0からeth0インターフェイスへのインターネットアクセス/スループットがなかった理由を理解しました。

/ etc/sysconfig/iptables

# Generated by iptables-save v1.4.7 on Thu Feb 13 17:10:07 2014

//私は訂正の下で話しますが、NATはファイアウォールを通過する前にパケットをルーティングするだけなので、基本的に、すべてのパケットがサーバーに送信されるため、ファイアウォールを通過する必要があります。これらのパケットを異なるインターフェイス(例:eth0、tun0、wlan0)に「配置」するようにサーバーに指示できます。

*nat

:PREROUTING ACCEPT [721:50130]

// OUTSIDEソースからのすべてのパケットを受け入れ、特定のインターフェイスにルーティングしません(フィルターINPUTと同じ)

:POSTROUTING ACCEPT [0:0]

// INSIDE IP RANGE(10.8.0.0/24)ソースからのすべてのパケットを受け入れ、それを出力としてインターフェイスeth0にルーティングします(フィルターFORWARDと同じ)

:OUTPUT ACCEPT [0:0]

// INSIDEソースからOUTSIDEへのすべてのパケットを受け入れ、特定のインターフェイスにルーティングしません(フィルターOUTPUTと同じ)

-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

//ファイアウォールの後から10.8.0.0/24の範囲のIPアドレスを持つデバイス(--sportが追加されていないためすべてのパケットを含む)からインターフェイスeth0にすべてのルート後トラフィックを送信するルールを追加します(サーバーのライブインターネット接続とのインターフェイス)

COMMIT

# Completed on Thu Feb 13 17:10:07 2014

# Generated by iptables-save v1.4.7 on Thu Feb 13 17:10:07 2014

*filter

//フィルタが行うのは、パケットを(ポート番号に基づいて)グループに分類し、適切なポート番号を持つ特定のパケットを許可し、特定のIPアドレスからの特定のパケットを許可することだけです

//注:フィルターは、ACCEPT/DROPの標準ポリシー(最も一般的に使用されるオプション)で機能します。NATのルールがあるのと同じように、パケットは送信元/送信元に基づいてドロップされます。フィルタのルールもあります

:INPUT DROP [886:120871]

//サーバーに着信するすべてのパケットはドロップ/無視されます

:FORWARD DROP [0:0]

//サーバーインターフェイス間で転送する必要のあるすべてのパケットはドロップ/無視されます

:OUTPUT ACCEPT [1209:156538]

//サーバーは、すべてのINPUT /着信パケットとFORWARD /転送パケットをドロップする必要があることを認識していますが、これらのルールはすべて、記載されているポリシーの例外であるため、これらの例外を以下に示します。

//サーバーから送信されるすべてのパケットが受け入れ/許可されます

-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

//次の基準ですべてのパケットを許可します:TCPプロトコルのポート443(HTTPSポート)からの着信

-A INPUT -i tun0 -j ACCEPT

//次の基準ですべてのパケットを許可します:インターフェースtun0(VPNインターフェース)からの着信


-A FORWARD -i tun0 -o eth0 -j ACCEPT

//次の基準ですべてのパケットを許可します:すべてのパケットをインターフェイスtun0からインターフェイスeth0に転送します

-A FORWARD -i eth0 -o tun0 -j ACCEPT

//次の基準ですべてのパケットを許可します:すべてのパケットをインターフェイスeth0からインターフェイスtun0に転送します

//これらの2つのルールは、openvpnサーバーに接続しているクライアントがインターネットにアクセスできるようにするために非常に重要です。これらがないと、接続はできますが、openvpnを使用してインターネットにアクセスすることはできません。

-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

//次の基準ですべてのパケットを許可します:既存の接続および/またはインターフェイス間の確立された接続に関連するすべてのパケット、それらを受け入れます

-A INPUT -p tcp -m tcp --dport 22 -m comment --comment "SSH" -j ACCEPT

//次の基準ですべてのパケットを許可します:tcpポート22の着信パケットとコメント「SSH」を追加します

-A INPUT -p tcp -m tcp --dport 5252 -m comment --comment "SecureSSH" -j ACCEPT

//次の基準を持つすべてのパケットを許可します:tcpポート5252の着信パケットとコメント「SecureSSH」を追加します

-A INPUT -p icmp -m icmp --icmp-type 8 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

//次の基準ですべてのパケットを許可します:すべての着信新規、関連、または確立されたエコー/ ping要求を許可します

-A OUTPUT -p icmp -m icmp --icmp-type 0 -m state --state RELATED,ESTABLISHED -j ACCEPT

//次の基準ですべてのパケットを許可します:新規、関連、または確立されたすべてのエコー/ ping応答を許可します

//返信/リクエストタイプ/コードのリストについてはリンクを参照してください- http://www.faqs.org/docs/iptables/icmptypes.html

-A INPUT -i lo -j ACCEPT

//次の基準を持つすべてのパケットを許可します:ローカルホストからの着信

COMMIT

2014年2月13日木曜日17:10:07に完了

これが誰かに役立つことを願っています、そして将来すべての人に幸運を祈ります!

0
Charlie Dyason

あなたがそれについて言及していないので、それは一撃の価値があります...あなたはipv4転送を有効にしましたか?

sysctl net.ipv4.ip_forward=1

それが機能する場合は、/ etc/sysctl.confを編集して、追加または編集します

# Controls IP packet forwarding
net.ipv4.ip_forward =1    

また、サーバーから適切なルートをプッシュしていることを確認してください。

Push "redirect-gateway"

または

Push "redirect-gateway def1"
4
user9517

VPN経由でトラフィックをルーティングしないようにNetworkManagerプラグインに指示することもできます。 IPv4 Settingsの下にオプションがあります-Routesボタンをクリックし、Use this connection only for resources on its networkの横にあるチェックボックスをオンにして、それが機能するかどうかを確認します。

スランガ

0
user3859241