Plano de fundo em rinetd
Olhando para um exemplo simples do arquivo rinetd.conf
que encontrei aqui neste artigo intitulado: Rinetd - redireciona as conexões TCP de um endereço IP e porta para outro :
# bindadress bindport connectaddress connectport
192.168.2.1 80 192.168.2.3 80
192.168.2.1 443 192.168.2.3 443
Redirecionando com o iptables
Algo semelhante pode ser alcançado com uma regra como essa usando iptables
.
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 \
-j DNAT --to-destination 192.168.2.3:80
$ sudo iptables -t nat -A POSTROUTING -p tcp --dport 25 -j MASQUERADE
O acima seria redirecionar a porta 80 em seu host local (192.168.2.1) para o host remoto (192.168.2.3). Essas regras são baseadas no que eu encontrei aqui neste artigo intitulado: Dicas e truques do iptables - Port Redirecionamento .
Registrando pacotes com ulogd
Usando o daemon de criação de log ulogd
userspace para o netfilter, você pode adicionar regras / opções adicionais para obter o log de pacotes com base neste título: Retirando pacotes do kernel . Supondo que você usou o gerenciamento de pacotes do distros para instalar o ulogd
e o iniciou:
$ sudo service ulogd start
O exemplo desse artigo registra ping
pacotes para o endereço 99.99.99.99:
$ ping -c 5 99.99.99.99
$ sudo iptables -I OUTPUT -d 99.99.99.99 -j ULOG --ulog-nlgroup 1 \
--ulog-cprange 100
Em seguida, usando tcpdump
, você pode dar uma olhada no arquivo de log que ulogd
mantém no arquivo /var/log/ulogd.pcap
.
$ sudo tcpdump -r /var/log/ulogd.pcap -qtnp
172.27.1.66 > 99.99.99.99: icmp: echo request (DF)
172.27.1.66 > 99.99.99.99: icmp: echo request (DF)
172.27.1.66 > 99.99.99.99: icmp: echo request (DF)
172.27.1.66 > 99.99.99.99: icmp: echo request (DF)
172.27.1.66 > 99.99.99.99: icmp: echo request (DF)
Você pode assistir ao vivo assim:
$ tail -f /var/log/ulogd.pcap | tcpdump -r - -qtnp
Para assistir aos seus pacotes, você precisa alterar a regra iptables
acima conforme necessário.