Виртуальный адаптер хоста VirtualBox
Еще один способ получить доступ к виртуальной машине извне — использовать виртуальный адаптер хоста. Тут вы можете настроить все более подробно, а также получить отдельный ip для машины, что дает больше возможностей. Сначала нужно создать виртуальный адаптер. Для этого откройте меню «Файл», затем «Настройки»:
Тут нужно перейти на вкладку «Сеть», затем «Виртуальные адаптеры»:
Дальше нажмите кнопку «+», чтобы в списке появился пункт vboxnet0. Тут готово, нажмите несколько раз «Ok» чтобы закрыть это окно. Дальше откройте контекстное меню вашей виртуальной машины, потом «Настроить», а затем «Сеть»:
Тут вам нужно в выпадающем списке заменить «NAT» на «Виртуальный адаптер хоста». В поле имя, выберите «vboxnet0»:
Теперь можете запускать виртуальную машину и смотреть ее ip адрес:
По нему гостевая система будет доступной из внешней. Внешняя система теперь тоже полностью доступна из гостевой по адресу :
Как выполнить проброс портов в Ubuntu Server
Термин «проброс портов» активно используют в своей терминологии профессионалы, а для новичков подобный жаргон часто остаётся непонятным. Это технология, которая позволяет работать с компьютером в локальной сети из интернета.
При этом в локальной сети может находиться маршрутизатор, который использует преобразование сетевых адресов. Таким образом, происходит перенаправление трафика с определённых портов по внешнему адресу на определённый адрес ПК во внутренней сети.
С Ubuntu проброс портов достаточно несложен в исполнении.
Проброс портов может понадобиться при организации пиринговой сети.
Подход проброса портов часто используется, когда нужно организовать на локальном компьютере сервер с доступом из любой точки мира, создать пиринговую сеть, или же использовать такое соединение для игр с большим количеством реальных игроков. Мы рассмотрим несколько основных способов реализации такой функции.
Средствами маршрутизатора
На некоторых маршрутизаторах есть возможность быстро включить поддержку проброса. Допустим, на устройствах D-Link она носит название «виртуальный сервер». Как правило, такая настройка выполняется через web-оболочку.
- Откройте браузер. В адресной строке наберите
- Введите имя пользователя и пароль.
- Если на вашем маршрутизаторе есть Мастер настройки, запустите его и выберите задачу «Настройка виртуального сервера». Или же попробуйте найти такую функцию в разделах настроек «Межсетевой экран (Брандмауэр, firewall).
- В появившихся окнах задайте все необходимые параметры сервера. Как правило, это:
- Интерфейс. Здесь нужно выбрать соединение для связи между компьютерами.
- Внутренний IP. Это адрес сервера в местной сети.
- Внешний (удалённый) IP. Адрес сервера, с которого будет осуществляться доступ.
- Имя настройки. Имя для набора параметров.
- Сохраните введённые настройки.
Такой подход позволяет создать перенаправление средствами роутера. Он применим к любой операционной системе, в том числе, к Убунту Сервер.
С использованием hamachi
Этот способ ориентирован именно на Ubuntu, где проброс портов будет выполняться с помощью Hamachi. Хамачи позволяет построить VPN. Другими словами — это программа для работы с виртуальными частными сетями.
Допустим, в разных сетях существует группа удалённых друг от друга ПК, а связь в сети выполняется через VPN Hamachi. Сама программа должна быть установлена на сервере. После этого можно настраивать проброс портов.
Идея в том, что ПК из других локальных сетей будут обращаться напрямую только к серверу. Он, в свою очередь, будет перенаправлять их на нужный ПК внутри сети, на котором будет находиться необходимый порт.
Для выполнения инструкций потребуется компьютер с установленной Ubuntu Server.
Установка Хамачи. Для начала, загрузите пакет с официального сайта:
wget -hamachi__
Инсталлируйте нужный пакет:
sudo apt-get install lsb
Теперь проведите сборку пакета, который был загружен:
dpkg -i logmein-hamachi__
Можно запустить соответствующую службу, а также саму программу:
service logmein-hamachi starthamachi login
Присвойте личному компьютеру имя в Хамачи. После этого подключитесь к нужной сети:
hamachi set-nick $ join $NAME_NETWORK
Введите все нужные данные для доступа к сети.
Теперь рассмотрим, как на базе созданного подключения прокинуть порт. Воспользуемся утилитой Rinetd. Для начала нужно загрузить саму утилиту:
sudo apt-get install rinetd
Теперь в файлы конфигурации потребуется внести изменения:
nano /etc/
Сам файл, открываем при помощи редактора nano. В конце документа нужно добавить строчку:
(IP-интерфейса сервера) (прослушиваемый порт) (адрес внешнего ПК) (порт внешнего ПК)
Вставлять значения нужно без скобок, с пробелами. Для каждого подключения нужно добавить свою строку, по порядку. Теперь нужно выполнить перезапуск службы:
service rinetd restart
Теперь потребуется отключить межсетевой экран:
sudo ufw disable
Вот и всё. В завершение процесса нужно перезагрузить сервер, после чего можно проверить подключения. Проброшенный трафик можно будет контролировать при помощи дополнительных утилит.
С использованием squid
Squid — это прокси-сервер для Ubuntu. Мы уже рассматривали, как прокинуть порт на Ubuntu Сервер, Squid — также хороший инструмент для этого. Он поможет, когда необходим максимальный контроль сетевого трафика. Squid можно установить по команде:
sudo apt-get install squid3
Настройка программы выполняется правкой директив, расположенных в файле:
/etc/squid/
О других особенностях использования Squid вы сможете узнать на официальном сайте.
Как работает NAT?
Чтобы иметь возможность общаться с другими компьютерами в сети компьютер должен иметь уникальный ip адрес. Но поскольку количество адресов уменьшалось нужно было придумать технологию, которая позволяла бы давать один адрес нескольким машинам. И была придумана технология NAT или Network Address Translation.
Все работает очень просто. Компьютер имеет свой адрес в локальной сети, он не виден из интернета. Когда ему нужно отправить пакет, он отправляет его роутеру, затем роутер подменяет адрес отправителя на свой и передает пакет дальше к цели. Параллельно роутер запоминает с какого локального компьютера был отправлен пакет на этот адрес. Дальше ответный пакет приходит роутеру, он подменяет адрес назначения на адрес нужного компьютера и отдает пакет в локальную сеть.
MikroTik NAT. Общая информация
NAT (Network Address Translation) – преобразование сетевых адресов. Главное назначение NAT – это экономия белых IP-адресов и повышение безопасности сети за счет ограничения обращений к внутренним хостам LAN снаружи и возможности скрыть сервисы с помощью подмены портов.
«Классический» NAT предполагает, что количество одновременных выходов в интернет из локальной сети за “натом” ограничено количеством свободных портов TCP/UDP. Благодаря этому множество устройств может одновременно выйти в интернет через один белый IP.
По умолчанию для LAN сети, находящейся за “натом”, доступ в интернет есть, а из глобальной сети в NAT-сеть попасть нельзя. За исключением случаев проброса портов.
Настройка NAT на MikroTik подразделяется на два типа:
- Destination NAT – изменение IP-адреса назначения и выполнение обратной функции для ответа. Преобразование адреса получателя называется dst-nat;
- Source NAT – изменение IP-адреса источника и выполнение обратной функции для ответа. Преобразование адреса источника называется src-nat.
Все остальные действия – производные от dst-nat и src-nat.
NAT обрабатывает только первый пакет соединения (connection-state=new).
Схематично принцип работы NAT можно изобразить так:
С помощью PF
В этом случае проброс реализуем, добавляя в /etc/pf.conf такие строки:
rdr on fxp0 proto { tcp, udp } from any to 0.0.0.0 port 3389 -> 192.168.1.1 port 3389 rdr on fxp0 proto { tcp, udp } from any to 0.0.0.0 port 4899 -> 192.168.1.1 port 4899
Здесь:
rdr — уже понятно, что это такое
on fxp0 — интерфейс маршрутизатора, который «смотрит» в интернет;
proto { tcp, udp } — тип трафика для проброса;
from any — сети, с которых будет работать переадресация, в данном случае — любая сеть;
to 0.0.0.0 — на этот IP приходит трафик извне;
port 3389 — на этом порту «слушаем» пакеты, которые будут перенаправляться;
192.168.1.1 port 3389 — IP и порт, на который будет форвардиться трафик в локальной сети.
Теперь о неприятном. Недостаток этих способов в том, что с ними много возни и не всегда получается сделать так как хочется — быстро и чтоб сразу работало. Тем более, что например для IPNAT нужен внешний статический ip-шник, а это не всегда доступно. Для решения всех проблем сразу есть замечательный инструмент — rinetd, которым я теперь пользуюсь все время — и быстро и сразу работает.
Настроим сетевые интерфейсы клиентов
При настройке сетевых интерфейсов клиентов важно помнить, что адрес сервера pfSense должен быть указан в качестве шлюза, в нашем случае
Настройка в Ubuntu
Редактируем файл /etc/network/interfaces:
auto ens31
iface ens31 inet static
address 10.0.0.2
netmask
dns-nameserver 8.8.8.8
gateway
Перезапускаем службу сети:
/etc/init.d/networking restart
Windows
Для настройки сетевого адаптера в среде Windows необходимо открыть Пуск → Панель управления → Сеть и интернет → Сетевые подключения либо
Пуск → Панель управления → Сеть и интернет → Центр управления сетями и общим доступом → Изменение параметров адаптера.
В открывшейся папке кликаем правой кнопкой мыши по значку сетевого адаптера, выбираем “Свойства”.
В открывшемся окне кликом мыши по названию (не по галке) выбираем “Протокол Интернета версии 4 (TCP/IPv4)”. Нажимаем кнопку “Свойства”.
В новом окне указываем:
- IP-адрес — 10.0.0.3;
- Маска подсети: ;
- Шлюз — ;
- Предпочитаемый DNS-сервер: 8.8.8.8.
Для сохранения нажимаем кнопку “OK”. В окне Свойств сетевого адаптера также нажимаем кнопку “OK”.
Важно! Еще раз обращаем внимание, что IP-адрес сервера pfSense должен быть указан в качестве основного шлюза и шлюза по умолчанию. Настроим маршрутизацию
Настроим маршрутизацию
В главном меню веб-приложения выбираем Firewall → NAT. На вкладке “Port Forward “. Нажимаем кнопку Add.
На открывшейся странице редактирования правила перенаправления трафика создадим правило для RDP-интерфейса.
В поле Destination указываем Any.
Destination port range (from port) — выбираем порт назначения, в нашем случае MS RDP. Поле “to port” заполнится автоматически.
Redirect target IP — указываем IP-адрес сервера или компьютера под управлением ОС Windows.
Redirect target port — MS RDP.
При желании заполняем поле описания — “Description”.
Нажимаем кнопку “Save”. И не забываем нажать кнопку “Apply changes”.
Важно! В случае если порт RDP был изменен (по умолчанию 3389), имя порта выбираем “Other”, в поле Custom указываем текущее значение. Созданное правило отображается как в примере ниже
Созданное правило отображается как в примере ниже.
Аналогичным способом создаются правила, скажем, для SSH-доступа.
Проверка подключения
Для проверки работоспособности настроек требуется подключиться SSH-клиентом или приложением для доступа к удаленному рабочему столу на внешний IP-адрес сервера pfSense.
Также, проверку можно выполнить с помощью сниффера сетевых портов — nmap.
Поделиться Оценить
Средняя оценка: 5.0 Оценили: 1220140 Минск ул. Домбровская, д. 9 +375 (173) 88-72-49
700 300 ООО «ИТГЛОБАЛКОМ БЕЛ»220140 Минск ул. Домбровская, д. 9 +375 (173) 88-72-49
700 300 ООО «ИТГЛОБАЛКОМ БЕЛ»
Что такое «проброс портов» и зачем его делать
«Проброс портов» — это тоже самое открытие порта на маршрутизаторе, но только на специализированном языке пользователей, которые профессионально занимаются беспроводными сетями, или их работа связана с компьютерными устройствами.
Зачем открывают порты на маршрутизаторе? Чтобы ответить на данный вопрос следует немного разобраться в функционале роутера. Каждый Wi-Fi-роутер работает как «раздатчик» трафика пользователям и имеет 2 особенности:
- Может обеспечивать подключение к сети нескольким устройствам одновременно.
- Только принимает трафик, но не передает его обратно в сеть.
Что нужно, чтобы пробросить порты?
Выше отмечалось, что перед проброской необходимо узнать порт и MAC-адрес, а также настроить маршрутизатор. Кроме того, необходимо определить адрес роутера в локальной сети дома или офиса.
Все изменения вносятся через интерфейс маршрутизатора. Для работы потребуется:
- адрес для входа (чаще всего );
- логин и пароль (по умолчанию admin);
- понимание принципов, как сделать проброс портов на роутере;
- 10-15 минут личного времени.
Для настройки может потребоваться добавление портов. Для этого:
- войдите в интерфейс маршрутизатора;
- жмите кнопку «Добавить новый» и укажите необходимые данные (номер порта, данные компьютера).
Настройка проброса портов в VirtualBox для SSH
SSH – сервер обычно прослушивает 22 порт, поэтому нам необходимо пробросить подключение именно на 22 порт.
Шаг 1
Для того чтобы пробросить порт, запускаем VirtualBox и заходим в настройки нашей виртуальной машины с Ubuntu Server. Например, выбираем нужную машину и нажимаем кнопку «Настроить», данный пункт также доступен, если нажать правой кнопкой мыши по выбранной виртуальной машине.
Шаг 2
Затем переходим в раздел настроек «Сеть», и открываем вкладку с включенным адаптером. Тип подключения, как Вы помните, «NAT» — для доступа в Интернет.
Шаг 3
Далее щелкаем на пункт «Дополнительно», чтобы отобразить дополнительные настройки данного адаптера, и после этого нажимаем на кнопку «Проброс портов».
Шаг 5
На данном этапе Вы уже должны знать IP адрес гостевой операционной системы и порт, который прослушивает SSH сервер (по умолчанию это 22 порт). В Ubuntu Server IP адрес можно узнать с помощью команды ifconfig (по умолчанию это ).
Описание колонок таблицы с правилами:
- Имя – название правила, в нашем случае разумно назвать SSH;
- Протокол – протокол, по которому будет происходить взаимодействие. В обычных случаях это – TCP;
- IP хоста – IP адрес Вашего реального компьютера, можно указать 127.0.0.1 или оставить данное поле пустым;
- Порт хоста – любой свободный порт Вашего компьютера, который будет использоваться для перенаправления на нужный порт в гостевой ОС. Я указал 2222;
- IP гостя – здесь указываем IP адрес гостевой операционной системы на который будет происходить перенаправление, в моем случае это ;
- Порт гостя – порт гостевой ОС, на который нам необходимо пробрасывать наши запросы. В нашем случае это 22 порт, который прослушивает SSH сервер.
После заполнения таблицы с правилом, нажимаем «ОК».
Шаг 6
На этом настройка проброса портов закончена, теперь мы можем проверить работу данного правила (проброса). Для этого сначала запускаем виртуальную машину с Ubuntu Server, а затем программу PuTTY. На вкладке Session выбираем тип соединения SSH и в поле Host Name пишем локальный адрес компьютера (хоста), которой мы указывали в колонке «IP хоста» в правилах проброса портов, если ничего не указывали, то пишите 127.0.0.1. В поле порт указываем номер порта, который мы указывали в колонке «Порт хоста», т.е. 2222. Нажимаем кнопку «Open».
Если после этого Вы получили приглашение на ввод логина, то это значит, что подключение работает, и Вы, соответственно, можете вводить учетные данные от гостевой операционной системы.
У меня на этом все, надеюсь, материал был Вам полезен, пока!
Нравится17
Не нравится