iptablesを使って1つの特定のVPNを通過するトラフィックのみを許可する


0

私はLubuntuを実行している私のBanana PIからのすべてのトラフィックが私のLANまたは他の方法でVPNサーバーを通過することだけを許可しようとしています。私はこのガイドに従っています: http://joelslowik.blogspot.co.uk/2013/05/setup-iptables-for-vpn-and-local.html

基本的にそれは私がこれらの規則を使うべきだと言う:

#Allow loopback device (internal communication)
iptables -A INPUT -i lo -j 
iptables -A OUTPUT -o lo -j ACCEPT
#Allow all local traffic.
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT
#Allow VPN establishment
iptables -A OUTPUT -p udp --dport 1194 -j ACCEPT
iptables -A INPUT -p udp --sport 1194 -j ACCEPT
#Accept all TUN connections (tun = VPN tunnel)
iptables -A OUTPUT -o tun+ -j ACCEPT
iptables -A INPUT -i tun+ -j ACCEPT
#Set default policies to drop all communication unless specifically allowed
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

しかし、私が理解している限りでは、それは任意のVPN(またはそのことに関して "tun"で始まるネットワークインタフェースを持つものすべて)を通過するトラフィックを許可します。

使ってみた

iptables -A INPUT -s XXX.XXX.XXX.XXX -j ACCEPT
iptables -A OUTPUT -d XXX.XXX.XXX.XXX -j ACCEPT

VPNサーバーのIPアドレスを使用しても、それはどちらもうまくいかないようです、それは単にVPNに接続しません。

それでは、どうすればよいでしょうか。私はWindowsファイアウォールを使用してWindowsでまったく同じことをしました この ローカルIPアドレスとVPN Server以外のIPアドレスをブロックするだけで、問題なく動作します。

回答:


1

OpenVPNを使用しているように見えるので、簡単にできることの1つは、tunNを使用する代わりにVPN tunデバイスに明示的な名前を付けることです。

何かを置くことは完全に有効です。 dev tun_home あなたのOpenVPN設定で。これにより、トンネルデバイスに名前が付けられます。 tun_home。ワイルドカードデバイス名の一致を使用する代わりに、これをファイアウォールルールで使用できます tun+


私はまだうまくいくと思います...私はまだ理解している限り、どんなプログラムでもどんな名前の1つでも作成できるネットワークインターフェースの名前に依存させることを気にかけません。あなたは知っていますか、なぜIPベースのルールがうまくいかないのですか(それがWindows上で完全に機能することを考えると)。
BeneStr

理想的ではありませんが、おそらくあなたは自分のルールを間違って書いたのでしょう。また、ルーティングテーブルを共有していないので、tunインタフェースを通過するものが明確になっていない。
Zoredache

逆に、tunxデバイスは変更されるべきではありません。あなたのインストールの名前(おそらくtun0)が何であるかを調べて、変更してください。 tun+tun0
Xalorous

1

ここでは、ローカル以外のすべてのトラフィックがVPNを通過するようにしたいとします(たとえばインターネットアクセス)。これが事実であるならば、私はそれがファイアウォールの代わりにあなたが望むことをするためにルーティングテーブルを使うことがより簡単でより良いだろうと思います。現在のデフォルトの代わりにVPNを使用するようにデフォルトルートを定義できます。

route add default dev tun0

または同様のものを使用して現在のデフォルトルートを削除します。

一方、ローカルでないものやVPNから来たものを本当にブロックしたいのなら、iptablesを使って正しい方向に進んでください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.