1

Я использую rdesktop для подключения к рабочему столу Windows 7 с RDP. Я использую команду: rdesktop -g 1800x1000 win3.int.mtak.nl При первом запуске этой команды после перезагрузки клиента (Ubuntu 13.04, rdesktop 1.7.1) я получаю сообщение об ошибке:

ERROR: win3.int.mtak.nl: unable to connect

Когда я запускаю команду сразу после этого, она работает нормально. У меня нет проблем с подключением к другим хостам. Я также пробовал host win3.int.mtak.nl перед соединением с rdesktop, и он возвращает правильный IP-адрес. Когда я пытаюсь подключиться с другого клиента Windows, он не выдает никаких ошибок.

Я нашел следующее с помощью strace:

connect(4, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, 16) = 0
poll([{fd=4, events=POLLOUT}], 1, 0)    = 1 ([{fd=4, revents=POLLOUT}])
syscall_307(0x4, 0x7ffff081f360, 0x2, 0x4000, 0, 0x1c, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5) = 0x2
poll([{fd=4, events=POLLIN}], 1, 5000)  = 1 ([{fd=4, revents=POLLIN}])
ioctl(4, FIONREAD, [120])               = 0
recvfrom(4, "Y\324\205\200\0\1\0\1\0\2\0\2\4win3\3int\4mtak\2nl\0\0\1"..., 2048, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, [16]) = 120
poll([{fd=4, events=POLLIN}], 1, 4981)  = 1 ([{fd=4, revents=POLLIN}])
ioctl(4, FIONREAD, [80])                = 0
recvfrom(4, "\361\326\205\200\0\1\0\0\0\1\0\0\4win3\3int\4mtak\2nl\0\0\34"..., 1928, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.0.1")}, [16]) = 80
close(4)                                = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(3389), sin_addr=inet_addr("10.100.0.63")}, 16) = -1 EHOSTUNREACH (No route to host)

Система выдает ошибку EHOSTUNREACH unreach, даже если существует маршрут к хосту:

mtak@frisbee:~$ netstat -rnv
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.137.1   0.0.0.0         UG        0 0          0 eth0
10.100.0.0      10.100.1.1      255.255.255.0   UG        0 0          0 tun0
[other output omitted]

Итак, в заключение:

  • Только для одного хоста в подсети я получаю ошибку EHOSTUNREACH при подключении
  • Я могу подключить другие узлы в этой подсети с первой попытки
  • Это происходит только в первый раз, когда я пытаюсь подключиться, или после ожидания в течение очень долгого времени.
  • Последующее соединение обслуживающего персонала работает нормально

Сервер RDP работает на VMware ESX, как и все остальные серверы в подсети. Для сетевого интерфейса нет особых настроек.

0