Поднимаю сервер. Он же мыльник, web-сервер, DNS и шлюз для офисной сетки.
Мыльник, web-сервер, DNS – для всех – и для офиса и для абонентов, выходят в инет через нашу циску (шлюз по умолчанию хх.хх.242.102/29), куда биллинг прикручен и все дела.
Шлюз для офиса – офис должен выходить прямо на провайдера, минуя нашу циску через провайдерский шлюз хх.хх.242.107/29, где поднят vlan.
Задача – направить трафик от офисной сетки прямо на провайдерский шлюз, а все остальноу – почту, DNS, www – через шлюз по умолчанию на нашу циску. Использую pf:
ext_if="sk0"
officenet="10.4.9.0/24"
#for office gateway
ext_ip="xx.xx.242.107"
ext_gateway="xx.xx.242.109"
#для экспериментов
ourcisco_gateway="xx.xx.242.102"
#NAT for office gateway.
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
nat from $officenet to any -> $ext_ip
#for office gateway
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
pass out quick route-to ($ext_if $ext_gateway) from $ext_ip to any keep state
Не работает! Когда ставлю defaultrouter хх.хх.242.102, офис в инет не выходит, хотя правило добавляется. ping говорит - "превышен интервал ожидания для запроса"
Эксперимента ради ставлю наоборот - defaultrouter хх.хх.242.109, а перемаршрутизирую – на – 102.
pass out quick route-to ($ext_if $ourcisco_gateway) from $ext_ip to any keep state
Работает! Офис ходит через нашу циску, а все остальное – напрямую на провайдера.
Единственное отличие этих двух вариантов – vlan на хх.хх.242.109. Получается, что pf не может работать с vlan, или я что-то неправильно делаю? Есть ли альтернатива pf?
Кусок rc.conf
ifconfig_sk0="inet xx.xx.242.101 netmask 255.255.255.248"
ifconfig_sk0_alias0="inet 10.10.20.5 netmask 255.255.255.248"
cloned_interfaces="vlan50"
ifconfig_vlan50="inet xx.xx.242.107 netmask 255.255.255.248 vlan 50 vlandev sk0 mtu 1500"
#в ходе экспериментов - меняю
#defaultrouter="xx.xx.242.109"
defaultrouter="xx.xx.242.102"
Мыльник, web-сервер, DNS – для всех – и для офиса и для абонентов, выходят в инет через нашу циску (шлюз по умолчанию хх.хх.242.102/29), куда биллинг прикручен и все дела.
Шлюз для офиса – офис должен выходить прямо на провайдера, минуя нашу циску через провайдерский шлюз хх.хх.242.107/29, где поднят vlan.
Задача – направить трафик от офисной сетки прямо на провайдерский шлюз, а все остальноу – почту, DNS, www – через шлюз по умолчанию на нашу циску. Использую pf:
ext_if="sk0"
officenet="10.4.9.0/24"
#for office gateway
ext_ip="xx.xx.242.107"
ext_gateway="xx.xx.242.109"
#для экспериментов
ourcisco_gateway="xx.xx.242.102"
#NAT for office gateway.
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
nat from $officenet to any -> $ext_ip
#for office gateway
#-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
pass out quick route-to ($ext_if $ext_gateway) from $ext_ip to any keep state
Не работает! Когда ставлю defaultrouter хх.хх.242.102, офис в инет не выходит, хотя правило добавляется. ping говорит - "превышен интервал ожидания для запроса"
Эксперимента ради ставлю наоборот - defaultrouter хх.хх.242.109, а перемаршрутизирую – на – 102.
pass out quick route-to ($ext_if $ourcisco_gateway) from $ext_ip to any keep state
Работает! Офис ходит через нашу циску, а все остальное – напрямую на провайдера.
Единственное отличие этих двух вариантов – vlan на хх.хх.242.109. Получается, что pf не может работать с vlan, или я что-то неправильно делаю? Есть ли альтернатива pf?
Кусок rc.conf
ifconfig_sk0="inet xx.xx.242.101 netmask 255.255.255.248"
ifconfig_sk0_alias0="inet 10.10.20.5 netmask 255.255.255.248"
cloned_interfaces="vlan50"
ifconfig_vlan50="inet xx.xx.242.107 netmask 255.255.255.248 vlan 50 vlandev sk0 mtu 1500"
#в ходе экспериментов - меняю
#defaultrouter="xx.xx.242.109"
defaultrouter="xx.xx.242.102"