
OpenVPNに接続していない場合は、すべてのインターネット接続をブロックしたいと思います。もちろん、VPNサーバーへの接続を許可する必要があります。
VPNサーバーIPとのトラフィックを許可し、すべて削除ルールを使用してこれを実行できますかiptables
?
iptables
@tachomiが提案した解決策を試しましたが、ルールを設定するとインターネットに接続されていません。iptables-save
状態:
# Generated by iptables-save v1.6.0 on Wed Feb 3 00:53:32 2016
*filter
:INPUT DROP [247:40343]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [153:25961]
-A INPUT -s 127.0.0.1/32 -p tcp -j ACCEPT
-A INPUT -s 127.0.0.1/32 -p tcp -j ACCEPT
-A INPUT -s 127.0.0.1/32 -p udp -j ACCEPT
-A INPUT -s 127.0.0.1/32 -p udp -j ACCEPT
-A INPUT -s <VPN_SERVER_IP>/32 -p tcp -j ACCEPT
-A INPUT -s <VPN_SERVER_IP>/32 -p udp -j ACCEPT
-A OUTPUT -d <VPN_SERVER_IP>/32 -p tcp -j ACCEPT
-A OUTPUT -d <VPN_SERVER_IP>/32 -p udp -j ACCEPT
COMMIT
# Completed on Wed Feb 3 00:53:32 2016
答え1
ローカル接続とRELATED, ESTABLISHED
接続プロトコルを許可して起動します。
$ sudo iptables -A INPUT -p tcp -s 127.0.0.1 -j ACCEPT
$ sudo iptables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
$ sudo iptables -A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
$ sudo iptables -A INPUT -p icmp -m state --state RELATED,ESTABLISHED -j ACCEPT
これにより、インターネット接続が可能になります。
デフォルトチェーンポリシーの設定
$ sudo iptables -P INPUT DROP
$ sudp iptables -P OUTPUT DROP
これにより、すべての種類のインバウンド/アウトバウンドトラフィックが拒否されます。
VPN接続を許可する
$ sudo iptables -A INPUT -s [VPN ip connection] -j ACCEPT
$ sudo iptables -A OUPUT -d [VPN ip connection] -j ACCEPT
これにより、VPN接続が許可されます。
SSH経由で接続する場合は、IPアドレスがローカルホストとしても機能することを許可する必要があります。
修正する:
他の接続ルールの場合は許可します。
HTTPを例にしてみましょう。
$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
個人的なおすすめ
私がすることは、iptablesルールのバックアップを使用して$ sudo iptables-save > iptables_backup
から、すべての変更に対してvimを使用してルールを編集し、iptablesリストアを使用することです$ sudo iptables-restore < iptables_backup
。これは繰り返しの規則を避けるための個人的な慣行にすぎません。