Есть машина во внутренней сетке с выходом в инет через дурковатого провайдера - открыты только 4 порта (25,110, 80, 5190). Есть вторая машина с наружным статическим IP и всеми портами. Обе на выделенках и включены круглосуточно. На обеих Linux ( на одной ubuntu, на второй slackware). Нужно сделать между ними что-то типа туннеля, дабы та, что во внутренней сетке была доступна с другой как минимум по SSH, а ещё лучше чтоб были все сервисы.
Если можно, пошаговый мануал, чё именно делать. Занимать можно только порт5190.
По максимуму юзать OpenVPN он хавает 1 порт, тот-же 5190.
Код
# Which TCP/UDP port should OpenVPN listen on? # If you want to run multiple OpenVPN instances # on the same machine, use a different port # number for each one. You will need to # open up this port on your firewall. port 1194
Машина из внутренней сети коннектится к серверу с белымй айпи по опенВПН используя порт5190. Коннект непрерывный. В свою очередь с сервера есть доступ ко всему что есть на машине.
Группа: Admin
Сообщений: 503
Регистрация: 13.08.03 Авторитет: 21
Вне форума
Еще раз о задаче, чтобы с терминами не попутаться: Имеем: УДАЛЕННАЯ_МАШИНА под ос Linux за фаерволом, на которую надо иметь возможность заходить по ssh из хотябы одной точки интернета УДАЛЕННАЯ_МАШИНА может во внешний мир выбраться по TCP по порту5190 МАШИНА_В_ИНТЕРНЕТЕ - машина с которой нам надо заходить
Как это сделать при помощи OpenSSH форвардинг (курсивом помечено, что является лишним если вам не надо извращаться с портом 5190)
1. Заводим на обоих компьютерах по пользователю, например заведем с именами sshforward на обоих компьютерах
2. На МАШИНА_В_ИНТЕРНЕТЕ запустите дополнительный sshd на порту5190, сделать это можно командой sshd -p 5190, не забудьте эту команду внести в стартовые скрипты
3. Заходим под этими пользователями на обоих компьютерах
4. Теперь нам требуется наличие папки ~/.ssh , чтобы не мучаться просто наберите ssh localhost и нажмите ctrl+c , система сама ее создаст
5. Можно конечно уже воспользоваться форвардингом, но врядли вам понравится каждый раз вводить пароль, по этому сначала обменяемся ключами, чтобы пользователь sshforward@УДАЛЕННАЯ_МАШИНА заходил без пароля на sshforward@МАШИНА_В_ИНТЕРНЕТЕ для этого на УДАЛЕННАЯ_МАШИНА выполняем команду ssh-keygen -t dsa со всем соглашаемся, пассфразу оставляем пустую после этого у вас появится 2 файла ~/.ssh/id_dsa и ~/.ssh/id_dsa.pub файл ~/.ssh/id_dsa.pub надо скопировать на МАШИНА_В_ИНТЕРНЕТЕ с именем ~/.ssh/authorized_keys, если ~/.ssh/authorized_keys уже существует и он нужен, то добавте данный файл в конце ~/.ssh/authorized_keys все, теперь команда выполненная на УДАЛЕННАЯ_МАШИНА ssh-p 5190sshforward@МАШИНА_В_ИНТЕРНЕТЕ должна вас пустить без пароля
7. Почти все, теперь набрав на МАШИНА_В_ИНТЕРНЕТЕ ssh -p 10022 root@localhost вы зайдете пользователем root на УДАЛЕННАЯ_МАШИНА
8. И последний шаг, неплохо сделать, чтобы ssh форвардинг на УДАЛЕННАЯ_МАШИНА стартовал автоматически, можно конечно прописать в стартовых скриптах, но кто вам сказал, что в момент загрузки всегда будет интернет ? Для этого лучше воспользоваться /etc/inittab добавте туда подобную строку SF1:2345:respawn:su - sshforward -c "exec /usr/bin/ssh-p 5190 -R 10022:127.0.0.1:22 sshforward@МАШИНА_В_ИНТЕРНЕТЕ" >> /var/log/sshconnect.log и выполните команду init q