Linux のコマンド ラインからファイアウォールのルールと設定を見つけるにはどうすればいいですか

Linux のコマンド ラインからファイアウォールのルールと設定を見つけるにはどうすればいいですか

ファイアウォールの詳細、ルーティング情報、および重要なネットワーク関連情報をコマンドラインからすべて検索するスクリプトを作成しています。 でファイアウォール構成を取得できますiptables -nvLが、残りの部分についてはわかりません。他のすべての情報を収集するには、どのコマンドを使用すればよいですか?

答え1

インターフェースのステータスは次の方法で取得できます。

ifconfig

あるいは、さらに良い方法として、「ip」コマンドを使用します。例:

ip addr

ルート情報を取得するには、次のいずれかを使用します。

route
route -n #no ptr resolving
ip route

ファイアウォール ルールの場合は、以下を使用します。

iptables -L # you can add -n to prevent name resolving

IPv6 の場合は、「ip」コマンドに「-6」を追加できます。

ip -6 addr
ip -6 route
...

「ethtool」をチェックしてリンク ステータスと速度/デュプレックスを取得することもできます。

ethtool eth0 

答え2

routel

実際には読みやすい形式ではありませんが、多くの情報をリストします。これは、ホストのすべてのルーティング テーブルの完全なダンプであり、ホストの IP 構成を再構成するのに十分な情報を提供します。この情報は、ポリシー ルーティングを再構成するには不十分です。これを使用する場合は、 も必要ですip rule。とにかく、例として、IPv4 の場合 (IPv6 もリストされている場合でも) は次のとおりです。

# list all interfaces addresses (unicast/broadcast/anycast)
routel | grep "local"
# list all (except ipv6 link-local) addresses of interfaces
routel | grep "local" | grep "host"
# list all broadcast addresses of interfaces
routel | grep "local" | grep "link"
# list all routing entries
routel | grep -v "local" | grep -v "unspec"
# list all on-link routing entries
routel | grep -v "local" | grep -v "unspec" | grep "link"
# list all on-link routing entries that are added by the kernel, 
# (which also matches the netmask of the IP addresses).
routel | grep -v "local" | grep -v "unspec" | grep "link" | grep "kernel"
# list non-on-link routes (aka gatewayed or routed)
routel | grep -v "local" | grep -v "unspec" | grep -v "link" 

ip routeまたは 1999 年のとは異なりroute、 routel はすべてのルーティング テーブルをリストしますが、 はmainテーブルのみをリストします。 ポリシー ルーティングを使用している場合、 を使用すると手がかりが得られませんip routeが、 routel はルーティング テーブルの名前をスペル アウトします。

また、誰かが転送、ARPプロキシ、その他の奇妙な機能を有効にしたかどうかを知るために、sysctlノブをダンプしたい場合があります。ダンプするだけです。sysctl -a

より完全なフラグやインターフェース情報が必要な場合は、 もダンプしてくださいip addr。本当に特殊な構成では、 やip linkのように、さらに必要な場合がありますip tunnel

ファイアウォールの設定に関しては、カウンターも必要な場合はiptables-saveまたは がありますiptables-save -c。これにより、すべてのテーブルが一覧表示されます (iptables -L や iptables -S のようにだけでなく) 。iptables-save の出力を取得して設定を復元することfilterもできます。iptables-restore

答え3

既存の iptables ルールを印刷するコマンドは次のようになります。

iptables -L

答え4

CSF ファイアウォールがインストールされているかどうかを確認できます。

csf.conf ファイル

関連情報