Тех. задание под линуксом | Крымский форум

Тех. задание под линуксом

  • Автор темы GSMmaster
  • Дата начала
  • Добро пожаловать на форум! Рады видеть вас здесь! Зарегистрируйтесь или Войдите в аккаунт, чтобы иметь полный доступ к площадке!
G

GSMmaster

Guest
Итак:

Есть машина во внутренней сетке с выходом в инет через дурковатого провайдера - открыты только 4 порта (25,110, 80, 5190). Есть вторая машина с наружным статическим IP и всеми портами. Обе на выделенках и включены круглосуточно. На обеих Linux ( на одной ubuntu, на второй slackware). Нужно сделать между ними что-то типа туннеля, дабы та, что во внутренней сетке была доступна с другой как минимум по SSH, а ещё лучше чтоб были все сервисы.

Если можно, пошаговый мануал, чё именно делать. Занимать можно только порт 5190.
 
GSMmaster
По минимуму. Повеcить SSH на порт 5190
smile.gif


По максимуму юзать 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

# TCP or UDP server?
;proto tcp
proto udp


Инструкции: http://openvpn.net/examples.html
 
SSH на 5190 не покатит - машина, на которую надо попадать SSH во внутренней сетке с серым IP и наружного статического IP не имеет.
 
Машина из внутренней сети коннектится к серверу с белымй айпи по опенВПН используя порт 5190. Коннект непрерывный. В свою очередь с сервера есть доступ ко всему что есть на машине.
 
Пэтро
Вот это более правильный вариант
 
Вариант с SSH форвардингом не понравился ?
 
SlavaD

Попробуем полноценный VPN поднять, так повеселее будет
 
Еще раз о задаче, чтобы с терминами не попутаться:
Имеем:
УДАЛЕННАЯ_МАШИНА под ос 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 5190 sshforward@МАШИНА_В_ИНТЕРНЕТЕ
должна вас пустить без пароля

6. Создаем форвардинг, выполняем на УДАЛЕННАЯ_МАШИНА
ssh -p 5190 -R 10022:127.0.0.1:22 sshforward@МАШИНА_В_ИНТЕРНЕТЕ

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
 
Назад
Сверху