Я исхожу из этого вопроса: /superuser/359799/how-to-make-freebsd-box-accessible-from-internet
Я хочу понять весь этот процесс port forwarding
.
Я прочитал очень много вещей, но не смог понять основную концепцию самой переадресации портов.
Что я имею:
сервер freebsd сидит у меня дома.
сетевой маршрутизатор
Вот чего я пытаюсь добиться:
чтобы иметь возможность получить доступ к серверу FreeBSD с компьютера с Windows через Интернет, чтобы иметь возможность открыть веб-браузер и доступ к Интернету.
Я также хочу получить доступ к этой коробке FreeBSD с машины Ubuntu, которая у меня есть.
Будет здорово, если кто-нибудь сможет мне помочь.
Вот настройка маршрутизатора netgear, которую я сделал для переадресации портов.
superuser
вопрос.Ответы:
Я начну с необработанных фактов:
У вас есть:
A
- ваш ящик с FreeBSD,B
- ваш маршрутизатор иC
- какой-то компьютер с доступом в Интернет. Вот как это выглядит:Обратите внимание , как ваш маршрутизатор нормально работает: она позволяет устанавливать соединение с машин в вашей локальной сети к Интернету (проще говоря). Поэтому, если
A
(или любой другой компьютер в локальной сети) хочет получить доступ к Интернету, ему будет разрешено (опять же, просто поговорим об основных понятиях и настройках):И следующее не разрешено по умолчанию:
(То есть маршрутизатор защищает машины в вашей локальной сети от доступа к Интернету.) Обратите внимание, что маршрутизатор является единственной частью вашей локальной сети, которая видна из Интернета 1) .
Переадресация портов - это то, что позволяет реализовать третью схему. Это состоит в том, чтобы сообщить маршрутизатору, какое соединение из
C
2) должно идти к какой машине в локальной сети. Это делается на основе номеров портов - вот почему это называется переадресацией портов . Вы конфигурируете это, сообщая маршрутизатору, что все соединения, приходящие на данный порт из Интернета, должны идти к определенной машине в локальной сети. Вот пример для порта 22, перенаправленного на машинуA
:Такие соединения через Интернет происходят на основе IP-адресов. Таким образом, немного более точное представление приведенного выше примера будет таким:
Если у вас нет подключения к Интернету со статическим IP-адресом, вам нужно каким-то образом узнать, какой IP-адрес назначен вашему маршрутизатору Интернет-провайдером. В противном случае
C
вы не будете знать, к какому IP-адресу он должен подключиться, чтобы получить доступ к вашему маршрутизатору (и, далее, к немуA
). Чтобы решить это простым способом, вы можете использовать сервис, который называется динамический DNS . Это заставит ваш маршрутизатор периодически отправлять информацию на специальный DNS-сервер, который будет отслеживать ваш IP и предоставлять вам доменное имя . Существует довольно много бесплатных провайдеров динамического DNS. Многие маршрутизаторы поставляются с опциями конфигурации, чтобы легко с ними связаться.1) Это, опять же, упрощение - фактическим устройством, которое видят в Интернете, является модем - который часто может быть интегрирован с маршрутизатором, но также может быть отдельным блоком.
2) или любой другой компьютер с подключением к Интернету.
Теперь для того, что вы хотите:
Просто разрешить ssh доступ к вашей машине из Интернета - плохая идея. Есть тысячи ботов Созданные крекеров , которые ищут в Интернете для машин с открытым портом SSH. Как правило, они «стучат» по стандартному SSH-порту как можно большего количества IP-адресов, и как только они обнаруживают, что где-то работает демон SSH, пытаются получить грубый доступ к компьютеру. Это не только риск потенциального взлома, но и замедления работы сети во время взлома машины.
Если вам действительно нужен такой доступ, вы должны по крайней мере
убедитесь, что у вас есть надежные пароли для всех учетных записей пользователей,
запретить root-доступ через SSH (вы всегда можете войти как обычный пользователь
su
илиsudo
затем),измените порт по умолчанию, на котором будет работать ваш SSH-сервер,
представить механизм запрета многочисленных попыток входа в SSH (с уменьшением времени ожидания последующих попыток - я не помню, как именно это называется - у меня это было включено некоторое время назад во FreeBSD, и я помню, что это было довольно легко - попробуйте поиск на некоторых форумах FreeBSD и т. д. о безопасности SSH и вы найдете его.)
Если возможно, попробуйте запустить ssh daemon только тогда, когда вы знаете, что в ближайшее время получите доступ к машине, а затем выключите ее.
Привыкайте проходить системные журналы. Если вы начинаете замечать что-либо подозрительное, добавьте дополнительные механизмы безопасности, такие как IP-таблицы или стук портов .
источник
Есть несколько способов сделать это. Возможно, проще всего настроить то, что известно как DMZ. Однако на вашем маршрутизаторе более безопасный способ настроить статический маршрут через порт 22 к IP-адресу вашего сервера.
Ресурсы:
источник
Это может сделать ваш роутер. На некоторых роутерах эта функция называется
Virtual Server
См. Ниже в части изображения есть два примера переадресации портов. Один из Интернета, а другой из SSH. В первом случае любой запрос на ваш WAN IP, то есть IP вашего маршрутизатора с портом,
80
будет перенаправлен на LAN IP (192.168.2.4
в этом случае).С помощью этой функции вы можете получать сервисы, запущенные на вашем ПК / сервере, работающем в локальной сети, из любой точки мира. то есть эти услуги не ограничены локальной сетью
источник