commit
This commit is contained in:
1 parent
9ed03e108d
commit
e7b1979ae3
3 files changed
+197
-1
No files matched your search
@@ -0,0 +1,80 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script para verificar se o NAT está funcionando corretamente
|
||||
|
||||
INTERFACE=${1:-"enp0s6"}
|
||||
TARGET_IP=${2:-"10.15.0.45"}
|
||||
|
||||
echo "=== Verificando Configuração NAT ==="
|
||||
echo "Interface: $INTERFACE"
|
||||
echo "Container alvo: $TARGET_IP"
|
||||
|
||||
# Verificar se os programas TC estão carregados
|
||||
echo -e "\n[Programas TC]"
|
||||
tc filter show dev $INTERFACE ingress | grep -i bpf
|
||||
tc filter show dev $INTERFACE egress | grep -i bpf
|
||||
|
||||
# Verificar mapas BPF
|
||||
echo -e "\n[Mapas BPF]"
|
||||
DNAT_MAP_ID=$(bpftool map list | grep -m1 "name dnat_port_map" | awk '{print $1}' | tr -d ':')
|
||||
SNAT_MAP_ID=$(bpftool map list | grep -m1 "name snat_networks" | awk '{print $1}' | tr -d ':')
|
||||
|
||||
if [ -n "$DNAT_MAP_ID" ]; then
|
||||
echo "Mapa DNAT (ID: $DNAT_MAP_ID):"
|
||||
bpftool map dump id $DNAT_MAP_ID
|
||||
else
|
||||
echo "Mapa DNAT não encontrado"
|
||||
fi
|
||||
|
||||
if [ -n "$SNAT_MAP_ID" ]; then
|
||||
echo -e "\nMapa SNAT (ID: $SNAT_MAP_ID):"
|
||||
bpftool map dump id $SNAT_MAP_ID
|
||||
else
|
||||
echo -e "\nMapa SNAT não encontrado"
|
||||
fi
|
||||
|
||||
# Verificar IP forwarding
|
||||
echo -e "\n[IP Forwarding]"
|
||||
IP_FWD=$(cat /proc/sys/net/ipv4/ip_forward)
|
||||
echo "IP forwarding: $IP_FWD"
|
||||
if [ "$IP_FWD" != "1" ]; then
|
||||
echo "AVISO: IP forwarding está desativado. Ative com:"
|
||||
echo " echo 1 > /proc/sys/net/ipv4/ip_forward"
|
||||
fi
|
||||
|
||||
# Verificar conectividade com o alvo
|
||||
echo -e "\n[Conectividade]"
|
||||
ping -c 1 -W 1 $TARGET_IP > /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Ping para $TARGET_IP: OK"
|
||||
else
|
||||
echo "Ping para $TARGET_IP: FALHOU"
|
||||
fi
|
||||
|
||||
# Testar HTTP/HTTPS
|
||||
echo -e "\n[Teste HTTP]"
|
||||
curl -s -m 2 --head http://$TARGET_IP > /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Acesso HTTP direto para $TARGET_IP: OK"
|
||||
else
|
||||
echo "Acesso HTTP direto para $TARGET_IP: FALHOU"
|
||||
fi
|
||||
|
||||
# Obter IP externo
|
||||
EXTERNAL_IP=$(ip -br addr show $INTERFACE | awk '{print $3}' | cut -d'/' -f1)
|
||||
echo -e "\n[Teste NAT]"
|
||||
echo "IP externo: $EXTERNAL_IP"
|
||||
curl -s -m 2 --head http://$EXTERNAL_IP > /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Acesso HTTP via NAT ($EXTERNAL_IP): OK"
|
||||
else
|
||||
echo "Acesso HTTP via NAT ($EXTERNAL_IP): FALHOU"
|
||||
fi
|
||||
|
||||
# Verificar logs recentes
|
||||
echo -e "\n[Logs Recentes]"
|
||||
echo "Últimas 5 linhas do trace_pipe (pode estar vazio se não houver atividade recente):"
|
||||
cat /sys/kernel/debug/tracing/trace_pipe | head -n 5
|
||||
|
||||
echo -e "\nPara monitorar logs em tempo real: cat /sys/kernel/debug/tracing/trace_pipe"
|
||||
echo "Para visualizar conexões atuais: ss -tan"
|
||||
Reference in new issue
Block a user