PfSense: Доступ к ADSL модему из-за файрвола
Источник: официальный Wiki PFSense
Некоторые DSL или кабельные модемы имеют веб-интерфейс с приватным IP адресом со стороны LAN. Поскольку это находится за Вашим файрволом и не имеет внешнего IP, получить доступ к нему не так просто, как может показаться. Вашему файрволу, как правило, присваивается внешний IP адрес, и он отправляет весь исходящий трафик в сторону провайдера. Ваш провайдер не будет маршрутизировать частные подсети обратно к модему, оставляя его недоступным. В этой статье описываются настройкхи, необходимые для доступа к интерфейсу управления вашего модема с локальной сети LAN.
Замечание: Внутренний IP адрес Вашего модема должен быть из другой подсети, чем ваша локальная сеть LAN. Если это не так, то все ваши попытки подключиться к модему будут безуспешными. Файрвол не сможет перенаправить запрос из вашей локальной сети к модему.
Содержание
Настройка псевдонима IP
Здесь псевдоним к соответствующему разделу Alias меню PFSense отношения не имеет.
В примере, показанном здесь, WAN интерфейс брандмауэра имеет присвоенный публичный IP адрес, и модем использует IP 192.168.1.254 с маской /24 (255.255.255.0). Для того, чтобы модем стал доступен, сначала необходимо присвоить WAN интерфейсу PFSense приватный IP адрес из подсети LAN модема. В этом примере будет использоваться адрес 192.168.1.1/24. В этом случае ваша локальная сеть не должны использовать 192.168.1.x по причине, описанной выше. Чтобы присвоить этот IP, выполните следующиее через SSH сессию, или меню Diagnostics > Command.
ifconfig em0 inet 192.168.1.1 netmask 255.255.255.0 alias
Здесь em0 является интерфейсом Ethernet вашей WAN. Теперь вы должны быть в состоянии пинговать IP вашего модема, но не через меню Diagnostics > Ping, так как источник IP пакетов в этом случае публичный IP, а не псевдоним IP. Необходимо войти через SSH и выбрать опцию 8. Вы можете проверить, запустив нормальный пинг, например, как ниже:
# ping 192.168.1.254 PING 192.168.1.254 (192.168.1.254): 56 data bytes 64 bytes from 192.168.1.254: icmp_seq=0 ttl=64 time=2.296 ms
Как только будет получен ответ, вы будете готовы продолжить...
Сделать псевдонимный IP постоянным
Настроенный выше псевдоним IP будет сохраняться только до перезагрузки. Это удобно для тестирования, но после завершения установки, вы можете захотеть, чтобы IP остается после перезагрузки. Чтобы это сделать, скачать резервную копию конфигурации через меню Diagnostics > Backup/restore, и откройте его в текстовом редакторе. Перед </ System>, добавьте следующую строку:
<shellcmd>ifconfig em0 inet 192.168.1.1 netmask 255.255.255.0 alias</shellcmd>
Настройка Virtual IP
Теперь вам нужно добавить Virtual IP для ранее созданного псевдонима IP, чтобы он появился в конфигурации NAT, которая будет завершена в следующем шаге. Откройте меню Firewall > Virtual IP и нажмите плюс '+'. Выберите тип Other, и введите псевдоним IP в поле IP-адрес.
Затем щелкните Save и Apply Changes.
Настройка NAT
Теперь нужно настроить NAT на перенаправление трафика, предназначенного вашему модему, к псевдониму IP. Это необходимо для того, чтобы модем видел трафик от источников IP в своей локальной подсети. Без этого NAT, вам придется настроить маршрут к модему, чтобы он знал, как добраться до вашей внутренней подсети. В некоторых модемах это невозможно, и в большинстве случаев проще настроить NAT трафик, так что маршрутизация не имеет значения. Чтобы добавить правило NAT, откройте меню Firewall > NAT, и щелкните закладку Outbound. Переключите режим на Manual Outbound NAT и щелкните Save. Правила файрвола Lan > Wan будут автоматически добавлены. Если у вас более одной внутренней подсети, убедитесь, что соответствующие правила добавлены для этих подсетей также. Вы можете найти самую подробную информацию по исходящим NAT в книге pfSense.
Щелкните плюс '+' для добавления нового Outbound NAT правила. Интерфейс выберите Wan. Для Source выберите Network и введите подсеть вашей LAN. Значение Destination установите IP подсети вашего модема. В поле Translation выберите Virtual IP, созданный для вашего псевдонимного IP.
Затем щелкните Save и Apply changes.
Проверка подключения
Теперь вы можете пинговать модем из вашей локальной подсети.
C:\>ping 192.168.1.254 Pinging 192.168.1.254 with 32 bytes of data: Reply from 192.168.1.254: bytes=32 time=2ms TTL=62 Reply from 192.168.1.254: bytes=32 time=2ms TTL=62
А также использовать веб-интерфейс модема для управления.