Назад | Перейти на главную страницу

Могу ли я получить доступ к хосту с NAT-адресом за шлюзом со стороны WAN без DNS или VPN (с DNS, если это невозможно)?

У меня очень простой шлюз под управлением минимального Linux, который служит IP-маршрутизатором с NAT и DHCP в LAN и статическим IP-адресом в WAN. Шлюз-маршрутизатор со стороны LAN подключается к большому коммутатору, с которого получают доступ около 200 пользователей (DHCP назначает им адреса NAT). Из этих 200 хостов в LAN у меня есть один (назовите его Argon), к которому я хотел бы получить доступ по фиксированному статическому IP-адресу как внутри LAN, так и из WAN. Предположим, мой NAT - 192.168.1.0/24, адрес LAN на моем шлюзе - 192.168.1.1, Boron - это хост в LAN с IP 192.168.1.2, а Carbon - это хост в WAN с IP 1.1.1.1.

Скажите, что я владею IP 10.10.10.10. Я хотел бы назначить 10.10.10.10 для Argon и иметь возможность отправлять и получать трафик TCP и UDP как от Boron (на 192.168.1.2), так и от Carbon (на 1.1.1.1), где и Boron, и Carbon будут отправлять сообщения на IP-адрес 10.10.10.10, чтобы связаться с Argon.

Я не думаю, что мой маршрутизатор может запускать DNS или VPN, поэтому я бы хотел по возможности избегать использования этих маршрутов в качестве решений. Однако, если ограничения, которые я накладываю, делают проблему неразрешимой, я бы предпочел настроить DNS в качестве решения, а не VPN, поэтому, если у кого-то есть решение DNS для этой проблемы (это не динамический DNS), я был бы признателен за это решения тоже.

Приносим извинения, если вопрос является основным или не по существу; Я определенно новичок в области сетевых технологий.

Спасибо за помощь.

То, что вы описываете, называется SNAT или 1: 1 NAT, другими словами. Он сопоставляет один адрес в одной сети с одним адресом в другой и является наиболее распространенным способом предоставления услуг на одном узле (обычно в Интернете) на планете. Таким образом, если ваш шлюз поддерживает это, вам необходимо создать NAT 1: 1 от 10.10.10.10 до 192.168.1.2.

Затем весь трафик на 10.10.10.10 направляется на 192.168.1.2, а весь трафик, покидающий сеть через интерфейс 10 на шлюзе, будет приходить с 10.10.10.10.

Надеюсь это поможет!

Если 10.10.10.10 уже указывает на интерфейс WAN на вашем маршрутизаторе, вам просто нужно добавить статический маршрут к внутреннему хосту на маршрутизаторе.

ip router add 10.10.10.10/32 dev eth1

куда eth1 - это разъем LAN на маршрутизаторе. (Убедитесь, что переадресация IP включена как для интерфейса WAN, так и для локальной сети на маршрутизаторе).

Затем просто назначьте 10.10.10.10/32 на nic на Argon. Если у него нет LAN IP в подсети 192.168.1.1/24, Argon должен будет установить свой маршрут как:

ip route add 192.168.1.1/24 dev eth0
ip route add default via 192.168.1.1

внутренние клиенты не должны иметь проблем. Пакеты будут покидать внутренние хосты через сетевой адаптер, определенный для шлюза по умолчанию. Шлюз по умолчанию - это ваш маршрутизатор. Маршрут имеет маршрут до 10.10.10.10/32 обратно через интерфейс LAN.

я считать этот должен работай. Если это не так, вам придется выяснить, как бороться с переадресацией шпильки в вашем дистрибутиве. (Я действительно думаю, что в большинстве случаев он должен работать по умолчанию ...).


Если вы хотите попытаться назначить 10.10.10.10/32 к самому маршрутизатору, а затем используйте NAT, чтобы направить все на внутренний IP-адрес для Argon, волшебная фраза становится «Шпилька NAT». Вы можете прочитать больше об этой кроличьей норе здесь: Нет доступа к домену изнутри через общедоступный IP-адрес


И для завершения ... если 10.10.10.10 в настоящее время не указывает на WAN-ник вашего маршрутизатора ... вам придется поговорить с провайдером о маршрутизации 10.10.10.10 на ваш маршрутизатор. (Оборудование бытового класса здесь не режет)


Для тех, кто любит картинки (я плохо разбираюсь в диаграммах, и все, что я установил, это рисование), вот как выглядят маршруты без NAT:

Маршрутизация шпильки Linux без NAT