
ファイアウォールの詳細、ルーティング情報、および重要なネットワーク関連情報をコマンドラインからすべて検索するスクリプトを作成しています。 でファイアウォール構成を取得できます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 ファイル