私はそれを理解することはできません。
選択した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
また、VPNユーザーに対してeth0の背後にあるデフォルトゲートウェイを使用するようにLinuxに指示するポリシールーティングテーブルを設定する必要があります。
したがって、送信元IPアドレスが192.168.200.0/24にあるパケットの新しいルーティングテーブルを作成し、そのルーティングテーブルのデフォルトゲートウェイをeth0の背後にあるデフォルトゲートウェイにします。