Назад | Перейти на главную страницу

Как я могу найти правила и настройки брандмауэра через командную строку в Linux

Я пишу сценарий, чтобы найти все детали брандмауэра, информацию о маршрутизации и важную сеть, связанную с помощью командной строки. Я могу получить конфигурацию брандмауэра с помощью iptables -nvL, но в остальном я не уверен. Какие команды мне использовать, чтобы собрать все остальное?

Вы можете получить статус интерфейса:

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 
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

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

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

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

/etc/csf/csf.conf

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

iptables -L