D-Link DFL ಗೇಟ್‌ವೇ ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ

Была у меня задача — опубликовать на роутере D-Link DFL службу на ip-адресе, не привязанном к wan-интерфейсу. Но в интернете не нашел инструкцию, которая бы решала эту задачу, поэтому написал свою.

Исходные данные (все адреса взяты для примера)

Веб-сервер во внутренней сети с Ip: 192.168.0.2 (порт 8080).
Пул внешних белых адресов, выделенный провайдером: 5.255.255.0/28, шлюз провайдера: 5.255.255.1, оставшиеся «наши» адреса 5.255.255.2-14.

Пусть адреса 5.255.255.2-10 мы используем под NAT и прочие нужды. Линк провайдера подключен к порту ವಾನ್1. К интерфейсу ವಾನ್1 привязан адрес 5.255.255.2.

Задача: опубликовать внутренний веб-сервер на публичном адресе 5.255.255.11, на порту 80.

Решение кратко

Для публикации службы на ip не соответствующем адресу интерфейса потребуется:

  1. Указать роутеру, что публикуемый ip нужно искать внутри себя, с помощью таблиц маршрутизации.
  2. ಪ್ರಕಟಣೆ ARP, чтобы роутер отвечал соседям, что публикуемый адрес принадлежит ему.
  3. Правило firewall (SAT), которое внутри роутера будет менять адрес назначения на адрес конечного сервера.
  4. Правило firewall (Allow), которое будет разрешать соединение с внешнего интерфейса на публикуемый адрес внутрь роутера

А теперь немного подробнее о каждом пункту

ತರಬೇತಿ

I. Вначале создадим для всех наших нужд «Объекты» (сейчас я покажу процесс для веб-интерфейса, думаю те, кто работают с консолью, смогут перенести действия в команды консоли).

1. Добавляем в адресную книгу два адреса ipv4:
web-server = 192.168.0.2
public-web-server = 5.255.255.11

D-Link DFL ಗೇಟ್‌ವೇ ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ

D-Link DFL ಗೇಟ್‌ವೇ ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ

2. Затем добавляем порты в список сервисов:
int_http = tcp:8080

D-Link DFL ಗೇಟ್‌ವೇ ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ

D-Link DFL ಗೇಟ್‌ವೇ ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ

ಬಂದರು tcp:80 уже присутствует в списке сервисов, называется HTTP, имеет ограничение в 2000 сессий, ограничение можно скорректировать.

ಓಹ್Оказалось, что добавлять порт сервера во внутренней сети вовсе не нужно, но оставляю, т.к. пример может понадобиться для публичного порта, а добавляются они одинаково

II ನೇ. Перейдем непосредственно к решению.

ಪ್ಯಾರಾಗ್ರಾಫ್ 1 и 2 можно объединить, т.к. при добавлении статического маршрута есть возможность сразу обеспечить ARP. Честно, говоря, я не сразу увидел эту возможность и настраивал публикацию вручную, есть у маршрутизатора и такой функционал.

1. Итак, если вы еще не создавали кучи таблиц маршрутизации и правил для них, то всё можно сделать в основной таблице маршрутизации, она называется ಮುಖ್ಯ.

D-Link DFL ಗೇಟ್‌ವೇ ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ

ಟೇಬಲ್ ಮುಖ್ಯбудет по-умолчанию путь до сети 5.255.255.0/28 ಪ್ರತಿ ಇಂಟರ್ಫೇಸ್ ವಾನ್1... ಮತ್ತು ಮೆಟ್ರಿಕ್ಸ್ этого маршрута совпадает с метрикой, указанной в настройках интерфейса (по-умолчанию 100).

D-Link DFL ಗೇಟ್‌ವೇ ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ

Для того, чтобы шлюз не отправлял пакеты обратно в интерфейс ವಾನ್1, нужно создать статический маршрут до адреса public-web-server в интерфейс ಕೋರ್ с метрикой меньше 100 (меньшей метрики интерфейса ವಾನ್1) — тогда шлюз будет искать его «внутри себя».

2. Там же при создании маршрута можно настроить Proxy ARP для того, чтобы шлюз отвечал на ARP запросы. На вкладке Proxy ARP добавляем интерфейс WAN.

D-Link DFL ಗೇಟ್‌ವೇ ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ

создаем маршрут, но не нажимаем OK, а переходим на вторую вкладку Proxy ARP:

D-Link DFL ಗೇಟ್‌ವೇ ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ

ARP, добавляем интерфейс ವಾನ್1:

D-Link DFL ಗೇಟ್‌ವೇ ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ

3.Наконец переходим к настройки NAT и firewall (это уже достаточно подробно описано в инструкции на сайте dlink.ua).

D-Link DFL ಗೇಟ್‌ವೇ ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ

Создаем правило SAT, чтобы в пакете с интерфейса ವಾನ್1 с адресом назначения public-web-server портом назначения HTTP, которому мы настроили маршрут на интерфейс ಕೋರ್, заменить адрес назначения на внутренний адрес нашего сервера web-server и порт на 8080.

D-Link DFL ಗೇಟ್‌ವೇ ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ

4. И следующим шагом необходимо разрешить такой пакет — создать правило Allow с аналогичными параметрами (удобно скопировать правило SAT и заменить действие на Allow).

D-Link DFL ಗೇಟ್‌ವೇ ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ

ಸೂಚನೆПри этом правила должны быть именно в таком порядке: сначала SAT, затем Allow:

Не забывайте, что правило SAT должно находиться выше разрешающего правила. Это связано с тем, что пакет, попадая в разрешающее или запрещающее правило, дальше не идёт по таблице «Rules».

dlink.ua
При этом правило allow создается также для публичного порта и адреса:

обратите внимание, что бы параметры протокола, интерфейсов и сетей в разрешающем правиле были такие же, как и в правиле с действием «SAT».

Мне казалось, что пакет уже обработан правилом SAT строкой раньше, и адрес и порт назначения в нем новые, но нет, похоже замена происходит когда-то после отработки всех прочих правил.

В инструкции от D-link глубоко раскрыт функционал SAT, он представляет много интересных возможностей. Моей целью было раскрыть вопрос, не раскрытый в этой инструкции и в других инструкциях. Надеюсь инструкция будет полезной и понятной.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ