iptables シェルスクリプトについて学ぶ

iptables シェルスクリプトについて学ぶ

状態:

私は最近iptablesで動作し、Linuxオペレーティングシステムとのすべてのインターネットアクセスをブロックする次のシェルスクリプトを見つけました。グループと呼ばれるinternet

パスワード:

複雑に聞こえるかもしれませんが、実際には非常に簡単です。まず、次のように「インターネット」グループを作成します。

 sudo groupadd internet 

次にスクリプトに保存します。

 #!/bin/sh
 # Firewall apps - only allow apps run from "internet" group to run

 # clear previous rules
 sudo iptables -F

 # accept packets for internet group
 sudo iptables -A OUTPUT -p tcp -m owner --gid-owner internet -j ACCEPT

 # also allow local connections
 sudo iptables -A OUTPUT -p tcp -d 127.0.0.1 -j ACCEPT
 sudo iptables -A OUTPUT -p tcp -d 192.168.0.1/24 -j ACCEPT

 # reject packets for other users
 sudo iptables -A OUTPUT -p tcp -j REJECT

 # open a shell with internet access
 sudo -g internet -s

源泉: https://plus.google.com/+TobyKurien/posts/YZhZJCZmGgm

質問:

起こったことの次の説明は正しいですか?

  • sudo groupadd internetインターネットというグループが設立されました。
  • sudo iptables -Fiptablesのすべての現在のルールを消去する
  • sudo iptables -A OUTPUT -p tcp -m owner --gid-owner internet -j ACCEPT この問題が発生しました...-A OUTPUT端末にルールを追加/追加するように指示し、文書-pに従って「確認するパケットのルールまたはプロトコル」だから、-p tcp反映する線を配置するようです。TCPプロトコルプロトコルですが、YouTube/twitchでストリーミングを視聴するにはどうすればよいですか?含める必要がありますかudp?それでは、どのように含めるべきですか?

    次に -m (一致用) です。私は文書を読んだが、それが何であるかよく分からない。これで-m owner --gid-owner internet -jこれが何を意味するのかわかりません。コメントから # accept packets for internet group私はコードが何をしているのか理解していますが、その結論に達するために各要素が何をしているのか理解したいと思います。

ベストアンサー1

あなたの説明は正しいです。

すべてをUDPパケットに適用するには、同じルールセットを再追加する必要がありますが、2つのルールのみを追加-p udpする-p tcp使用する権利たとえば、Youtubeの場合、YoutubeのストリームがUDPを使用してもそれまで到達できないため、ストリームを視聴できません。

このオプションは、-m使用する一致タイプを選択します。さまざまな基準を一致させることができ、man iptables-extensions一致するモジュールでiptables()を拡張することもできます。ここで、-m ownerパケット所有権として一致を選択し、一致する--gid-ownerグループ所有権を指定します。したがって、これら2つのオプションを組み合わせて使用​​すると、「このルールはグループ内の誰かが送信したパケットにのみ適用されますinternet」を意味します。

オプション-j(最初は「ジャンプ」)は、ルールが一致したときに実行するアクションを指定します。ACCEPT(ルール処理を停止してこのパケットを送信します)またはREJECT(ルール処理を停止してこのパケットを無視します)、別のチェーンに移動できます。

次の2つのルールは、送信アプリケーションが属するグループに関係なく、パケット(ACCEPT)を特別な宛先()に送信することを許可し、最後のルールは前のルール()と一致しないすべてのパケットを破棄します。したがって、最後のルールは実際のブロックを実行します。-dREJECT

iptablesインターネットには多くのチュートリアルがあります。詳細については、Googleで検索して目的のものを選択してください。過去に役立つと思ったランダムリンクは次のとおりです。

おすすめ記事