Я использую 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, как и все остальные серверы в подсети. Для сетевого интерфейса нет особых настроек.