OpenBSD pf port forwarding nem működik internet felől érkező forgalom esetén

 ( z0la | 2017. november 15., szerda - 10:45 )

Sziasztok!

Port forwarding nem működik az alábbi beállításban. A kapcsolódás az internet felől mindig timeout-os.
A provider látja a bejövő forgalmat és forwardolja hozzám.
Ha a következő módon próbálom a kapcsolódást a TestPC-ről a Serverre a tűzfal mögé, akkor minden további nélkül működik:

Provider_gateway(192.168.3.254)
|
|
|
Switch-------------------TestPC(192.168.3.33)
|
|
MyRouter(192.168.3.24)
|
|
Server(192.168.1.111)

De ha internet felől érkezik -> publikus IP-n és nyitott porton keresztül -> a provider gatewayhez, akkor timeout.

Próbáltam a következő szabályt felvenni a port forward mellé, hogy a server felől ne legyen load balanced forgalom,
de ezzel sem sikerült:
pass in quick on em1 proto tcp from $server route-to $wan_if $wan_gw

int_if = "{ em1 em2 }"
ext_if = "{ em0 em3 }"

lan_if = "em1"
lan_net = "192.168.1.0/24"

lan2_if = "em2"
lan2_net = "192.168.2.0/24"

wan_if = "em0"
wan_gw = "192.168.3.254"

wan2_if = "em3"
wan2_gw = "123.123.123.123"

server = "192.168.1.111"
pc = "192.168.1.23"

set block-policy drop
set loginterface egress
set skip on lo0

block all

pass in quick on em0 proto tcp from any to (em0) port 5000 rdr-to $server port 22
pass out quick on em1 proto tcp from any to $server

match out on $wan_if from $lan_net nat-to ($wan_if)
match out on $wan_if from $lan2_net nat-to ($wan_if)
match out on $wan2_if from $lan_net nat-to ($wan2_if)
match out on $wan2_if from $lan2_net nat-to ($wan2_if)

pass in on $lan_if from $lan_net route-to { ($wan_if $wan_gw) weight 1, ($wan2_if $wan2_gw) weight 15 } round-robin
pass in on $lan2_if from $lan2_net route-to { ($wan_if $wan_gw) weight 1, ($wan2_if $wan2_gw) weight 15 } round-robin

pass out on $ext_if

pass out on $wan_if from $wan2_if route-to ($wan2_if $wan2_gw)
pass out on $wan2_if from $wan_if route-to ($wan_if $wan_gw)

pass in proto tcp from $lan_net to $lan_if
pass in proto udp from $lan_net to $lan_if

pass in proto tcp from $lan2_net to $lan2_if
pass in proto udp from $lan2_net to $lan2_if

pass in on $lan_if from $lan_if:network to $lan2_if:network
pass out on $lan2_if from $lan_if:network to $lan2_if:network

pass in on $lan_if from $pc to $lan_if

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

route-to helyett reply-to-val, ez bitosan müködik


block log on { $ext1_if $ext2_if } all

....

match in on $ext1_if proto tcp from any to $ext1_ip port 443 rdr-to 192.168.150.2 port 443
pass in on $ext1_if proto tcp from any to 192.168.150.2 port 443 reply-to ($ext1_if $ext1_gw) set prio 7

....

Így van, működik, köszönöm szépen!