システムでiptablesを使用してインターネットを停止したいのですが、どうすればよいですか?
iptables -A INPUT -p tcp --sport 80 -j DROP
または
iptables -A INPUT -p tcp --dport 80 -j DROP
?
現実は、2つの異なる質問をしていることです。
--sport
は--source-port
の略です
--dport
は--destination-port
の略です
また、インターネットは単純にHTTP
プロトコルではなく、通常はポート80で実行されます。HTTPリクエストをブロックする方法を尋ねていると思います。これを行うには、アウトバウンドチェーンで80をブロックする必要があります。
iptables -A OUTPUT -p tcp --dport 80 -j DROP
ポート80に向かうすべてのアウトバウンドHTTPリクエストをブロックします。これにより、SSL、8080(alt http)、またはその他の奇妙なポートがブロックされることはありません。より深いパケットインスペクションでL7フィルタリングが必要な種類のことを実行します。
@xenoterracideの回答を拡張するためにiptablesの詳細については、マンページiptables(8)
(タイプ_man 8 iptables
_)で読むことができますが、_--dport
_または_--sport
_は見つかりません。これらのオプションは、マルチポート、tcp、udpなどのセクションのiptables-extensions(8)
にリストされています。これは興味深いかもしれません。
「システムでインターネットを停止」するには、_Sudo ifdown <INTERNET FACING INTERFACE>
_または_Sudo ip link set <INTERNET FACING INTERFACE> down
_、たとえば_Sudo ip link set eth0 down
_を使用してネットワークインターフェイスをオフにするだけで済みます。これを永続的にするには、/ etc/network/interfaces(Ubuntu、Debian ...)または/ etc/sysconfig/network-scripts/ifcfg-(RHEL、SLES、CentOS、Oracle Linux、Fedoraの場合)を確認する必要があります...)または、ネットワークマネージャーの設定など、使用するもの。もちろんこれにより、HTTPベース以外の接続であっても「インターネット」との接続が切断され、iptables
を使用してOSI/ISOレイヤー2トラフィックを処理することによるパフォーマンスへのわずかな影響が回避されます。