На местом форуме ISP возник вопрос о (не)возможности вывода отдельного хоста из-за nat'а, при наличие более ip-адреса от провайдера. Глянул доки, сделал и решил выложить здесь этот маленький how-to(была мысль запостить в «q&a», но это всё-таки ответ, нежели вопрос). Как всегда, действовать будем исключительно с помощью средств предоставленных системой, то-есть, в данном случае, посредством правки config-файлов.
Добавляем адреса к сетевому интерфейсу(/etc/config/network)
config 'alias'
option 'interface' 'wan'
option 'proto' 'static'
option 'ipaddr' '2.2.2.2'
option 'netmask' '255.255.255.224'
option 'layer' '1'
Резервируем ip-адрес для хоста который будем выводить наружу(/etc/config/dhcp)
config host
option ip '192.168.1.111'
option mac 'dc:a9:71:74:d3:85'
option name 'jov'
Добавляем SNAT/DNAT-правила для этого хоста(/etc/config/firewall)
config redirect
option src lan
option dest wan
option src_ip '192.168.1.111'
option src_dip '2.2.2.2'
option proto 'all'
option target SNAT
config redirect
option src wan
option dest lan
option dest_ip '192.168.1.111'
option src_dip '2.2.2.2'
option proto 'all'
option target DNAT
Всё, мы «выставили» хост наружу, разумеется было бы не плохо проработать политику безопастности, но это каждый решает для себя.
Не забываем добавить SNAT для всех остальных хостов в локальной сети, в адрес заданный при конфигурации wan(/etc/config/firewall)
config redirect
option src lan
option dest wan
option src_ip '!192.168.1.111'
option src_dip '1.1.1.1'
option proto 'all'
option target SNAT
В цикле проводим эту процедуру для всех остальных машин в сети.
Автор: jov