No meu computador com o Ubuntu 14.04, posso fazer coisas assim:
$ nc -l 5349 -vvv
Listening on [0.0.0.0] (family 0, port 5349)
ou isto:
$ nc -vvv -l 192.168.254.96 5349
Listening on [192.168.254.96] (family 0, port 5349)
E um soquete é aberto para escutar conexões entrando no meu endereço IP local (192.168.254.96). E obviamente eu posso conectar do outro lado e transmitir dados.
Mas em um servidor atrás de um NAT com Debian 8.0 Jessie, recebi este erro estranho:
$ nc -vvv -l 5349
5349: inverse host lookup failed: Unknown host
nnetfd reuseport failed : Protocol not available
listening on [any] 38541 ... : Protocol not available
ou:
$ nc -vvv -l 10.1.6.189 5349
10.1.6.189: inverse host lookup failed: Unknown host
nnetfd reuseport failed : Protocol not available
listening on [any] 52606 ... : Protocol not available
A porta não está em uso:
$ ss -tnl | grep 5349
(empty)
e é o endereço IP correto:
$ ip addr list
...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 1e:89:93:f1:96:a4 brd ff:ff:ff:ff:ff:ff
inet 10.1.6.189/19 brd 10.1.31.255 scope global eth0
inet6 fe80::1c89:93ff:fef1:96a4/64 scope link
valid_lft forever preferred_lft forever
Qual poderia ser o problema? Poderia haver algo relacionado com o NAT por trás do servidor?