Как найти правила и настройки брандмауэра через командную строку в 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 вы можете добавить «-6» к командам «ip»:

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 напишет вам имя таблиц маршрутизации.

Также вы можете захотеть сделать дамп sysctl-кнопок, чтобы узнать, включил ли кто-то пересылку, ARP-проксирование или какие-то другие забавные штуки. Просто сделайте дампsysctl -a

Если вам нужны более полные флаги или информация об интерфейсе, также dump ip addr. Действительно особая конфигурация может потребовать больше, например ip linkили ip tunnel.

Что касается конфигурации брандмауэра, есть iptables-saveили iptables-save -cесли вы также хотите счетчики. Это выведет список всех таблиц (а не только filterкак iptables -L или iptables -S) Вы даже можете использовать, iptables-restoreкоторый берет вывод iptables-save и восстанавливает его конфигурацию.

решение3

Команда для вывода существующих правил iptables выглядит следующим образом:

iptables-L

решение4

Вы можете увидеть, установлен ли брандмауэр CSF.

/etc/csf/csf.conf

Связанный контент