0

Доступ к шлюзу с динамическим адресом

Хочется, что бы мой шлюз был виден с внешней сети всегда, а провайдер выдает мне динамический IP. Как вариант, можно просить у провайдера статический IP, однако это не бесплатное удовольствие. Я пойду другим путем.

Я буду использовать Dynamic DNS сервис, в частности www.no-ip.org. Первым делом регестрируюсь на www.no-ip.org и выбираю себе бесплатный домен третьего уровня — myhost.no-ip.info.
Теперь устанавливаю порт на моем шлюзе на FreeBSD:
# cd /usr/ports && make search name=noip
Port: noip-2.1.9_2
Path: /usr/ports/dns/noip
Info: No-IP.com′s dynamic DNS update client
Maint:
B-deps:
R-deps:
WWW: http://www.No-IP.com/
# cd /usr/ports/dns/noip
# make install clean
...

###########################################################
You need to generate the noip config file ′no-ip2.conf′ in
/usr/local/etc/no-ip2.conf.  To do this automatically, run:

    make conf
    
You need to register with www.no-ip.com to use this port.

You also need to add the following line to your
/etc/rc.conf or /etc/rc.conf.local file:
noip_enable="YES"
###########################################################

Доступно расписаны дальнейшие шаги. Это хорошо.
Делаю make conf

(cd /usr/local/etc && /usr/local/bin/noip2 -C)

Auto configuration for FreeBSD client of no-ip.com.

Multiple network devices have been detected.

Please select the Internet interface from this list.

By typing the number associated with it.
    0       fxp0
    1       rl0
    2       ipfw0
    3       tun0

Интерфейс, смотрящий во внешнюю сеть у меня tun0. Его и выбираю.

Please enter the login/email string for no-ip.com
Please enter the password for user

Ввожу логин и пароль на www.no-ip.org

Only one host [myhost.no-ip.info] is registered to this account.
It will be used.
Please enter an update interval:[30]

Пусть будет полчаса

Do you wish to run something at successful update?[N] (y/N)

New configuration file "/usr/local/etc/no-ip2.conf" created.
/usr/sbin/chown noip:noip /usr/local/etc/no-ip2.conf
/bin/chmod 0600 /usr/local/etc/no-ip2.conf

Запускать скрипт при изменении адреса — мысль интересная, но пока у меня нет необходимости. Выполняю рекомендации:
# chown noip:noip /usr/local/etc/no-ip2.conf
# chmod 0600 /usr/local/etc/no-ip2.conf

Теперь прописываю демона в rc.conf
# echo 'noip_enable="YES"' >> /etc/rc.conf
Запускаю и наслаждаюсь результатом:
# /usr/local/etc/rc.d/noip start
# host myhost.no-ip.info
myhost.no-ip.info has address [IP]

Теперь по имени myhost.no-ip.info я смогу иметь доступ к своему шлюзу. Вне зависимости от динамически выдаваемого провайдером IP. Максимальное время в течении которого я не смогу подключиться к шлюзу, выходит 30 минут.

Alexey Egorychev

FreeBSD and Linux sysadmin. Know many systems like mailsystems, DB, WWW stack. Automation with salt, ansible. Monitoring with nagios, zabbix.