Como forçar o uso de tcp em vez de udp para rpcbind?

4

Estou tentando usar tcp / 111 para rpcbind no Debian Wheezy em vez de udp / 111. O portmap no Squeeze usa tcp / 111 sem nenhuma configuração especial, mas o Wheezy falha.

Até mesmo vários sites (assim como RFC) dizem que TCP ou UDP é selecionado dinamicamente, ou às vezes o TCP é usado se o UDP falhar ... - quando eu rejeitar o udp / 111 (com iptables ) no cliente Wheezy com rpcbind , recebo erros ...

# showmount -e server
Export list for server:
....
# iptables -I OUTPUT -j REJECT -d server -p udp --dport 111 --reject-with icmp-port-unreachable
# showmount -e server
clnt_create: RPC: Port mapper failure - Unable to send: errno 1 (Operation not permitted)
# rpcinfo -p
 program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
#

Como posso configurar rpcbind para usar somente o TCP?

    
por Matej Kovac 15.05.2013 / 17:11

1 resposta

1

Se você montar com vers=3,proto=tcp , o TCP será usado ao consultar rpcbind para a montagem real:

$ tshark -nr nfs.pcap "tcp.stream eq 0"
 2  192.168.1.89 36200 192.168.1.60   111 TCP 74 [SYN]
 3  192.168.1.60   111 192.168.1.89 36200 TCP 74 [SYN, ACK]
 4  192.168.1.89 36200 192.168.1.60   111 TCP 66 [ACK]
 5  192.168.1.89 36200 192.168.1.60   111 Portmap 126 V2 GETPORT Call
 6  192.168.1.60   111 192.168.1.89 36200 TCP 66 [ACK]
 7  192.168.1.60   111 192.168.1.89 36200 Portmap 98 V2 GETPORT Reply (Call In 5)
 8  192.168.1.89 36200 192.168.1.60   111 TCP 66 [ACK]
 9  192.168.1.89 36200 192.168.1.60   111 TCP 66 [FIN, ACK]
10  192.168.1.60   111 192.168.1.89 36200 TCP 66 [FIN, ACK]
11  192.168.1.89 36200 192.168.1.60   111 TCP 66 [ACK]

Só posso supor que showmount esteja codificado para usar o UDP. Eu tentei ler a fonte de nfs-utils mas me perdi em showmount.c após clnt_call() , desculpe.

    
por 24.06.2014 / 14:40