
Estou escrevendo um script para encontrar todos os detalhes do firewall, informações de roteamento e redes importantes relacionadas via linha de comando. Posso buscar a configuração do firewall com iptables -nvL
, mas não tenho certeza sobre o resto. Quais comandos devo usar para reunir todo o resto?
Responder1
Você pode obter o status da interface:
ifconfig
Ou melhor ainda, use o comando “ip”, por exemplo:
ip addr
Para obter as informações da rota, use um destes:
route
route -n #no ptr resolving
ip route
Para regras de firewall, use:
iptables -L # you can add -n to prevent name resolving
Para IPv6 você pode adicionar "-6" aos comandos "ip":
ip -6 addr
ip -6 route
...
Você também pode verificar "ethtool" para obter o status do link e velocidade/duplex:
ethtool eth0
Responder2
routel
Liste muitas informações, embora de uma forma não muito legível, mas é um despejo completo de todas as tabelas de roteamento do host e fornece informações suficientes para reconstituir a configuração IP no host. Esta informação não é completa o suficiente para reconstituir o roteamento de políticas. Se acontecer de você usar isso, você também precisará do ip rule
. De qualquer forma, por exemplo, para IPv4 (mesmo que IPv6 também esteja listado):
# 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"
Ao contrário ip route
de 1999 route
, o routel lista todas as tabelas de roteamento, enquanto o outro lista apenas a main
tabela. Se alguém usar roteamento de política, você não terá pistas ao usar ip route
, enquanto routel irá soletrar o nome das tabelas de roteamento.
Além disso, você pode querer descartar os botões sysctl, para saber se alguém ativou o encaminhamento, o proxy ARP ou alguma outra coisa interessante. Basta despejarsysctl -a
Se você quiser sinalizadores ou informações de interface mais completas, despeje também ip addr
. Uma configuração realmente especial pode precisar de mais, como ip link
ou ip tunnel
.
Quanto à configuração do firewall, existe iptables-save
ou iptables-save -c
se você também quiser contadores. Isso listará todas as tabelas (e não apenas filter
como iptables -L ou iptables -S). Você pode até usar iptables-restore
isso para obter a saída de iptables-save e restaurar sua configuração.
Responder3
O comando para imprimir regras de iptables existentes é assim:
tabelas de ip -L
Responder4
Você pode ver se há CSF Firewall instalado.
/etc/csf/csf.conf