Re: very difficult routing problem
kasak <[email protected]>
| Newsgroups | gmane.os.openbsd.misc |
|---|---|
| Message-ID | <[email protected]> |
04.06.2026 23:48, Atanas Vladimirov пишет:
> On 2026-06-04 21:48, kasak wrote:
>> Hello misc!
>>
>> I have this tunnel on my router:
>>
>> tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1340
>> index 14 priority 0 llprio 3
>> groups: tun
>> status: active
>> inet 192.168.40.60 --> 192.168.40.60 netmask 0xffffffff
>>
>> And this routes:
>>
>> route -n show | grep tun
>> 192.168.40/24 192.168.40.60 UGS 0 416 - 8 tun0
>> 192.168.40.60 192.168.40.60 UHhl 1 2 - 1 tun0
>> 192.168.40.60 192.168.40.60 UH 0 0 - 8 tun0
>>
>> I want to route one of my local ips to this tunnel:
>>
>> pass out inet from 192.168.0.150 route-to 192.168.40.1
>>
>> And this work like a charm but only when remote host knows about my local 192.168.0.0/24 network.
>>
>> Can I somehow first do nat-to 192.168.40.60, and after that do route-to 192.168.40.1?
>>
>> To avoid having to add route on remote host?
>>
>> Thank you in advance
> Hi,
>
> You just need something like this:
>
> # NAT tun0
> match out log on tun0 inet from 192.168.0.150 \
> nat-to (tun0)
>
> and you can drop your pass .... route-to rule
I'm afraid it's not so easy :(
pflog is silent, nothing works.
Here is full pf.conf btw:
wan=em0
lan=em1
lan_net=$lan:network
table <tv> { 192.168.0.150, 192.168.0.151, 192.168.0.119 }
set skip on lo
block return # block stateless traffic
pass# establish keep-state
block in on egress
pass proto { icmp, ipv6-icmp }
pass in on $wan proto { tcp, udp } to port { domain, domain-s }
pass in on $wan inet proto tcp to port { www, https }
pass out on $wan inet from $lan_net nat-to $wan:0
#pass out inet from <tv> route-to 192.168.40.1
pass out log on tun0 inet from <tv> nat-to (tun0)