Сведения о вопросе

FUTER

16:03, 1st July, 2020

Теги

unix   vpn   xming    

Использование Xming X Window Server над VPN

Просмотров: 510   Ответов: 9

У меня есть Xming X Window Server, установленный на ноутбуке под управлением Windows XP для подключения к некоторым серверам разработки UNIX.

Он прекрасно работает, когда я подключаюсь непосредственно к корпоративной сети в офисе. Однако он не работает, когда я подключаюсь к сети удаленно через VPN.

Когда я запускаю Xming при удаленном подключении, ни один из моих terminal Windows не отображается.

Я думаю, что это может быть как-то связано с тем, что переменная окружения DISPLAY неправильно устанавливается на адрес IP ноутбука, когда он подключен.

Я заметил, что когда я делаю ipconfig при удаленном подключении, мой ноутбук имеет два адреса IP, один из которых назначен ему из сети компании, а локальный адрес IP я настроил для него на моем "local network" из моего modem/router.

Есть ли какие-то изменения конфигурации, которые мне нужно сделать в Xming, чтобы поддержать его использование через VPN?



  Сведения об ответе

fo_I_K

18:03, 1st July, 2020

Спасибо за помощь @Stephen и @Greg замка, с его помощью мне удалось решить мою проблему.

Чтобы обеспечить базовое руководство для других (с нуля):

Использование Xwindows на сервере Windows PC для подключения к серверу UNIX через сервер VPN

С чего нужно начинать:

Что же делать:

  1. Установите оба вышеперечисленных устройства на свой Windows PC

  2. Из меню Пуск Windows выберите: Программы -> Xming -> Xming

  3. Запустите программу Putty.exe в том месте, куда вы ее загрузили

  4. В окне конфигурации PuTTY выполните следующие действия:

    • Установите адрес IP в качестве адреса IP вашего сервера UNIX

    • Выберите переключатель протокола SSH

    • Щелкните категорию SSH: туннели в левой части экрана конфигурации

    • Установите флажок Включить пересылку X11

    • Нажмите кнопку Открыть

    • Войдите как обычно на ваш сервер UNIX

    • Проверьте каталог, содержащий утилиты X windows, которые находятся в вашем пути, например /usr/X/bin на Solaris

    • Запустите ваши команды X Windows в окне putty, и они породят новый windows на вашем рабочем столе


  Сведения об ответе

DAAA

18:03, 1st July, 2020

Скорее всего, это либо аутентификация X, привязка X-сервера к интерфейсу, либо ваша переменная DISPLAY. Я сам не использую Xming, но есть некоторые общие явления, которые нужно проверить. Один тест, который вы можете сделать, чтобы вручную проверить правильность переменной DISPLAY, - это:

  1. Начните свой VPN. Запустите ipconfig, чтобы убедиться, что у вас есть два адреса IP, которые вы упомянули (ваш локальный IP и ваш VPN IP).
  2. Начало Xming. Запустите 'netstat -n', чтобы увидеть, как он привязывается к интерфейсу. Вы должны увидеть что-то, что либо говорит localIP:6000, либо VPNIP:6000. Это может быть и не 6000, но скорее всего это будет что-то вроде этого. Если нет VPNIP:6000, он может быть привязан только к вашему localIP или даже 127.0.0.1. Это, вероятно, не будет работать над VPN. Проверьте, есть ли некоторые настройки Xming, чтобы привязать его к другим или ко всем интерфейсам.
  3. Если вы видите VPNIP:6000 или что-то подобное, обратите внимание на то, что он говорит, и удалите shell в ваш хост UNIX (надеюсь, что-то вроде ssh, если не все, что вам нужно, чтобы получить текст terminal).
  4. На UNIX terminal введите 'echo $DISPLAY'., если ничего не отображается, попробуйте 'export DISPLAY=VPNIP:0.0', где VPNIP - ваш IP-адрес VPN, а 0.0-порт, который вы видели на Шаге 3 минус 6000 с .0 в конце (т. е. 6000 = 0.0, 6010 = 10.0).
  5. На узле UNIX выполните что-то вроде 'xclock' или 'xterm', чтобы увидеть, работает ли он. Сообщение об ошибке должно быть информативным. Он сообщит вам, что он либо не смог подключиться к хосту (проблема подключения), либо не прошел проверку подлинности (вам нужно будет координировать Xauth на вашем Хосте и локальном компьютере или Xhosts на вашем локальном компьютере).

Открытие Xhosts (С + для всех хостов или что-то подобное) не так уж плохо, если у вас есть локально защищенная сеть, и вы идете через VPN. Надеюсь, это поможет вам начать отслеживать проблему. Другой вариант, который часто бывает полезен, поскольку он работает через VPN или простое ssh подключение, - это туннелирование ssh или пересылка X11 через ssh. Это имитирует подключение к X-серверу на вашем локальном блоке, перенаправляя порт на вашем хосте UNIX на локальный порт на вашем X-сервере. Ваш дисплей обычно будет иметь вид localhost:10.0 для локального порта 6010.

X может быть очень сложным в настройке, но обычно он отлично работает, как только вы его освоите.


  Сведения об ответе

park

18:03, 1st July, 2020

У меня не было ничего, кроме проблем с Xming. Когда я смог заставить его работать, он был очень медленным (это больше a VPN). IMO X не предназначен для запуска медленных соединений его слишком болтливый. И под медленным соединением я подразумеваю что-то меньшее, чем соединение LAN.

Моим решением было использовать x11vnc. Он позволяет получить доступ к существующей сессии X11 через VNC. Я просто ssh в свою коробку через VPN и запускаю:

$ x11vnc -display :0

Таким образом, я могу получить доступ ко всему, что я открыл в течение дня. Затем, когда я этого не делаю, я просто выхожу ( Ctrl - C ) в terminal, чтобы закрыть x11vnc.


  Сведения об ответе

#hash

18:03, 1st July, 2020

Я получил Xming и PuTTY, работая с Cisco VPN, заменив конфигурацию PuTTY в Connection > SSH > X11 > X display location, localhost:0.0, на VPNIP:0.0 . VPNIP можно увидеть в VPN statistics client address information , щелкнув левой кнопкой мыши на значке замка VPN client и выбрав Statistics... .

Я не стал возиться с переменной окружения DISPLAY на удаленном хосте. Но, как и другие, я изменил sshd_config на удаленном хосте, добавив эти строки:

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
AddressFamily inet


  Сведения об ответе

repe

18:03, 1st July, 2020

Я получил ту же проблему с Xming и Putty на машине Windows 10 и нашел решение здесь . Я преодолел эту проблему, просто добавив туннели к сессии в PuTTY. Но сначала нужно проверить;

  • sshd_config под /etc/ssh (в rhel7).
  • Включить переадресацию X11 на левой панели навигации Connections > SSH > X11
  • iptables под /etc/sysconfig/ (в rhel7). Если порты заблокированы и у вас есть разрешение, откройте порты для 6000. Я добавил ниже строку перед первой строкой отклонения, чтобы открыть порты от 6000 до 6003. Это может быть более конкретно в вашем случае.

    -A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 5901:5903,6000:6003 -j ACCEPT

Затем;

  • Перейдите к Connections > SSH > Tunnels в PuTTY и добавьте туннель с Source Port=6000, Destination=127.0.0.1:6000 и установите переключатель Remote . Затем нажмите кнопку Add .
  • После установления соединения SSH установите переменную DISPLAY вручную с помощью следующей команды:
    export DISPLAY=127.0.0.1:0.0

подробная информация ;
Если вы зададите переменную DISPLAY как 127.0.0.1:1.0, она будет взаимодействовать через порт 6001 . В этом случае необходимо добавить еще один туннель для порта номер 6001.


  Сведения об ответе

appple

18:03, 1st July, 2020

putty + XMing - мне пришлось вручную установить переменную окружения DISPLAY, чтобы все работало (наряду с проверкой "Enable X11 forwarding" в putty-Connection/SSH/X11)

экспорт DISPLAY=0:10.0

(он был установлен на "localhost:10.0", что не сработало)


  Сведения об ответе

DINO

18:03, 1st July, 2020

Возможно, Вам больше повезет сделать пересылку X11 через SSH, а не возиться с вашей переменной DISPLAY напрямую. Переадресация X11 с SSH безопасна и использует существующее соединение SSH с туннелем, поэтому работа через VPN не должна быть проблемой.

К счастью, это довольно просто с Xming. Если вы открываете свое соединение изнутри Xming (например, опция plink), я думаю, что по умолчанию он устанавливает пересылку X11. Если вы подключаетесь с помощью другого клиента SSH (например PuTTY), то вам просто нужно включить X11 переадресацию (например, 'ssh-X user@host'). в PuTTY опция находится в разделе соединение - > SSH -> X11 - > нажмите на кнопку 'Включить X11 переадресацию'.

Убедитесь, что Xming работает в фоновом режиме на вашем ноутбуке и выполните стандартный тест X, 'xclock'. Если вы получаете сообщение типа ' X соединение с localhost:19.0 нарушено (явное убийство или завершение работы сервера).- тогда Xming, скорее всего, не работает.

Кроме того, убедитесь, что вы не задаете явно переменную DISPLAY в каких-либо сценариях запуска; SSH установит псевдоним (что-то вроде localhost:10 или в примере выше localhost:19) для туннеля X11 и автоматически установит DISPLAY в это значение. Перезапись DISPLAY, очевидно, будет означать, что вы больше не будете указывать на правильный туннель X11. Обратная сторона этого заключается в том, что другие терминалы, которые не имеют набора переадресации SSH X11, могут использовать то же значение DISPLAY и воспользоваться преимуществами туннеля.

Я предпочитаю вариант PuTTY, но некоторые из моих коллег используют plink изнутри Xming.


  Сведения об ответе

repe

18:03, 1st July, 2020

У меня нет точной проблемы, но я думаю, что вам нужно посмотреть на xhost и убедиться, что vpn remote может отправлять данные на x-сервер.

Эта ссылка может помочь: http://www.straightrunning.com/XmingNotes/trouble.php


  Сведения об ответе

ASER

18:03, 1st July, 2020

Вы должны добавить имя(ы) DNS машины Linux и адрес IP в файл C:\Program Files\xming\X0.hosts. Файл должен содержать:

LinuxBox.mydomain.com
LinuxBox
192.168.1.25

Это правильный ответ: https://www.slackwiki.com/X_Windows:_Remote_X_to_Windows_with_Xming


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться