OpenVPN と iptables - トラフィックがサーバー側の一部の特定のホストに到達できるようにします。

OpenVPN と iptables - トラフィックがサーバー側の一部の特定のホストに到達できるようにします。

Raspberry PiにOpenVPNサーバーを設定し、それに基づいてどのように。サーバーのサブネット(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

レベル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

関連情報