Буду рад если кто-то сможет помочь, т.к. сам в сетях разбираюсь весьма посредственно.
В общем задача такая что есть VPS, в VPS есть VPN туннель к моей машине, на моей машине веб-сервер, я хочу чтобы из VPS был редирект на мою машину.
Мне удалось в ipwf создать правила допускающие пакеты к 80му порту
#eif - адрес VPS (внешний белый IP)
#cmd = ipfw -q add
$cmd 100 allow log tcp from any to me 80 in via $eif keep-state
Так же добавил и правила для OpenVPN, icmp, ssh, все это работает, OpenVPN соединяется, пинги идут.
А вот портфорвардинг не могу осилить за почти целые сутки чтения статей, форумов, манов.
Для примера раньше на VPS у меня был Линукс, и там эту задачу через iptables я решил за пол-дня (не имея раньше опыта с этой утилитой и знаний про сети)
Было так - крутилась софтинка, которая пинговала адрес который становился доступен когда прикконектится OpenVPN моя машина, и когда адрес пинговался вызывались такие команды:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -d $VPS_ADDR -p tcp --dport 80 -j DNAT --to-destination $MY_PC_IN_NAT
iptables -t nat -A POSTROUTING -d $MY_PC_IN_NAT -p tcp --dport 80 -j SNAT --to-source $VPN_TUNNEL_SERVER_SIDE_ADDR
При том вместо адреса моей машины в моей домашней локальной сети (MY_PC_IN_NAT) можно было, на сколько помню, подставить адрес конца OpenVPN туннеля на мой стороне (VPN_TUNNEL_CLIENT_SIDE_ADDR) и всё работало одинаково хорошо.
Ну соответственно когда пинг пропадал софтинка удаляла эти правила:
sysctl -w net.ipv4.ip_forward=0
iptables -t nat -D PREROUTING
iptables -t nat -D POSTROUTING
Что позволяло реализовать прикольную штуку - когда мой комп выключен VPS на запрос к 80му порту даёт доступ к веб-серверу работающему непосредственно на VPS, а когда мой комп включен - то VPS редиректил доступ к вебсерверу на моём компе.
Вот, буду рад, если кто поможет мне сгенерировать аналогичные iptables команды для ipfw
p.s. курил эти ресурсы, но не помогло