← All posts tagged natd

hizel
natd вот так:
i386# telnet 127.0.0.1 666
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
if:em1 inport:0 outport:0 inoutport:56353
---
Out table
10.1.0.2:260 204.152.184.112:20480 10.0.0.2:260 0.0.0.0:0 tcp
10.1.0.2:815 87.250.250.3:1 10.0.0.2:815 0.0.0.0:0 icmp
10.1.0.2:4868 195.177.106.7:13568 10.0.0.2:4868 0.0.0.0:0 udp
10.1.0.2:5124 195.177.106.7:13568 10.0.0.2:5124 0.0.0.0:0 udp
---
In table
10.1.0.2:260 204.152.184.112:20480 10.0.0.2:260 0.0.0.0:0 tcp
10.1.0.2:815 87.250.250.3:1 10.0.0.2:815 0.0.0.0:0 icmp
10.1.0.2:4868 195.177.106.7:13568 10.0.0.2:4868 0.0.0.0:0 udp
10.1.0.2:5124 195.177.106.7:13568 10.0.0.2:5124 0.0.0.0:0 udp
---
This is natd. Fuck you! :-)
Connection closed by foreign host.
hizel
natd и да, natd тупой и одротедовый, может его в многотредовый заодно заманстрячить и заодно вкарячить туда libav, так как pf в систему за одно притащило libevent
таки копание в исходниках приноситъ много нового и необычного, попрыгал смотреть лицензию на libevent
hizel
natd и так у всех быдло фаерволов база NAT трансляций хранится поверх или с незначительными изменениями базы stateful(в терминах ipfw) и только у ipfw nat оно хранится в собственной отдельной структуре libalias, что какбэ естественно, так как stateful в ipfw сбоку пришлепка мыслю
надо будет содрать выхлоп у сисек и взять его за основу
hizel
natd нада посмореть как линупсоиды натят, открыл nf_conntrack_core.c и сразу пришла мысля зачем выхлопывать данные через socket когда можно через /proc ^_^
hizel
natd i386# /etc/rc.d/natd restart
Stopping natd.
Waiting for PIDS: 73599.
Starting natd.
i386# telnet 127.0.0.1 666
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
if:em1 inport:0 outport:0 inoutport:56353
din:-1 dout:-1 dinout:3
addr:10.0.0.2 1
out(2332):93.158.134.3:1 10.1.0.2:790 10.0.0.2:790 0.0.0.0:0 1 0 0 1300212435 60
in(2847):93.158.134.3:1 10.1.0.2:790 10.0.0.2:790 0.0.0.0:0 1 0 0 1300212435 60
This is natd. Fuck you! :-)
Connection closed by foreign host.