web-dev-qa-db-ja.com

インターネットトラフィックをopenvpntun0からeth0にルーティングします

私はそれを理解することはできません。
選択したVPNユーザーにインターネットトラフeth0へのアクセスを許可するにはどうすればよいですか?すべてのサーバートラフィックはeth1を通過します。
eth0は、VPNユーザーに選択したポートでのインターネットアクセスのみを提供し、他には何も提供しないことになっています。
ユーザーはeth1を介して接続し、tun0で個々の構成を使用してIPを割り当てられます。これはユーザーccdの1つです。

ifconfig-192.168.200.5192.168.200.6をプッシュします
「redirect-gatewaydef1」を押します

ユーザー設定

クライアント

dev tun

プロトUDP

リモート192.168.0.551194

解決-無限に再試行

永続化キーpersist-tun

ca ca.crt cert client.crt key client.key

ns-cert-typeサーバー

tls-auth ta.key 1

comp-lzo

動詞3

サーバー構成:

ローカル192.168.0.55

ポート1194

プロトUDP

dev tun

ca ca.crt cert server.crt key server.key

dh1024.pem

サーバー192.168.200.0255.255.255.0

ifconfig-pool-persist ipp.txt

クライアントからクライアントへ

キープアライブ10120

tls-auth ta.key 0

comp-lzo

max-clients 10

永続化キーpersist-tun

私の現在のIPテーブルルール:

#すべてフラッシュ
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

#すべて許可します
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

#ループバックを許可する
iptables -A INPUT -i lo -j ACCEPT

#eth0でのすべての着信をブロックし、確立された接続を許可する
iptables -A INPUT -i eth0 -j DROP
iptables -A INPUT -i eth0 -m state --state ESTABLISHED、RELATED -j ACCEPT

転送がオンになっている:

sysctl net.ipv4.ip_forward = 1



グーグルで数時間後( https://community.openvpn.net/openvpn/wiki/BridgingAndRouting )これは正しい方法だと思いましたが、機能しません:

#VPNから開始されたトラフィックが「世界」にアクセスできるようにする
iptables -I FORWARD -i tun0 -o eth0\-s 192.168.200.0/24 -m conntrack --ctstate NEW -j ACCEPT

# Allow established traffic to pass back and forth
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED \
     -j ACCEPT
# Masquerade traffic from VPN to "the world" -- done in the nat table
iptables -t nat -I POSTROUTING -o eth0 \
      -s 192.168.200.0/24 -j MASQUERADE


ヘルプは大歓迎です:)

ネットワークマップ http://s27.postimg.org/7do7o8ob7/network_map.gif

5
Gunnar

また、VPNユーザーに対してeth0の背後にあるデフォルトゲートウェイを使用するようにLinuxに指示するポリシールーティングテーブルを設定する必要があります。

したがって、送信元IPアドレスが192.168.200.0/24にあるパケットの新しいルーティングテーブルを作成し、そのルーティングテーブルのデフォルトゲートウェイをeth0の背後にあるデフォルトゲートウェイにします。

1
Tero Kilkanen