web-dev-qa-db-ja.com

OpenVPNとiptables-サーバー側の特定のホストへのトラフィックを許可する

Raspberry PiにOpenVPNサーバーをセットアップし、 [〜#〜] howto [〜#〜] に従って構成しました。サーバーサブネット(192.168.123.0/24)クライアントから特定のホストを公開したい。

使った

Push route 192.168.123.0 255.255.255.0

server.confファイル内。また、次の方法でiptablesを設定します。

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#allow ssh and vpn on pi - working fine
...

OpenVPN-アクセスポリシー によると、これは特定のホストまたはサブネット全体へのトラフィック転送を許可する必要があります(HOWTOから抽出された行-これらのアドレスは私の実際のアドレス範囲ではありません):

# Employee rule
iptables -A FORWARD -i tun0 -s 10.8.0.0/24 -d 10.66.4.4 -j ACCEPT

# Sysadmin rule
iptables -A FORWARD -i tun0 -s 10.8.1.0/24 -d 10.66.4.0/24 -j ACCEPT

# Contractor rule
iptables -A FORWARD -i tun0 -s 10.8.2.0/24 -d 10.66.4.12 -j ACCEPT

これはどちらも役に立ちません。しかし、私が設定した場合

iptables -P FORWARD ACCEPT

そして他に何も、私は私が望まないすべてのホストを見ることができます。私は何が間違っているのですか?

ご協力ありがとうございました。

1
bash.d

レイヤー8でエラーが発生しました。

トラフィックがトンネリングデバイスを通過するのを許可するのを忘れました。

解決策は

#Set default policy of chain 
iptables -P FORWARD DROP

#allow traffic to route from VPN subnet to specific Host in subnet
iptables -A FORWARD -i tun0 -s {VPN subnet} -d {Host in server subnet} -j ACCEPT
#allow traffic from Host in server subnet back to VPN subnet
iptables -A FORWARD -o tun0 -s {Host in server subnet} -d {VPN subnet}

私はここでこの投稿に触発されました:

https://forums.openvpn.net/viewtopic.php?t=20369

0
bash.d