I'm having difficulty redirecting some traffic on my home network, from a 
server with a single nic.

Here's the situation: I have a wifi/gateway router which forwards all 
traffic from my external IP to a NetBSD server on my internal network. The 
server has a single NIC, but I have a second server also on my internal 
network I'd like to offload some of the services onto. For specific 
reasons, I don't want to do the 'proper' way and change the gateway 
router's rules, and instead I want to redirect the packets via the NetBSD 
server and NPF.


I've added some map rules in my npf.conf, but they don't seem to work. 
Traffic tries to connect, but hangs waiting for return packets, and 
eventually times out. Npfctl shows the NAT allocations occuring, but they 
later get destroyed. Changing the IP address of the dest server to 
localhost does in fact pass traffic, so I'm a bit confused why this other 
way isn't working.

I know that with PF, you cannot reflect packets out the same interface, is 
that what's preventing me from doing this with NPF also?

My npf.conf:

# Wonderful basic config!
$ext_if = "ale0"
$localnet = { 192.168.0.0/24 }
$irc_server = { 192.168.0.3 }
$ext_ipaddr = { 192.168.0.2 }
# My persistent block tables
table <blacklist> type tree file "/etc/npf_blacklist"
group "external" on $ext_if {
    block in final from <blacklist>
    pass all
}
group default {
    pass final on lo0 all
    block all
}
map $ext_if static $irc_server port 6667 <- $ext_ipaddr port 6667

Hopefully someone can shed some light on what I'm doing wrong - and 
hopefully there is a way to do this that doesn't require a second NIC.

Reply via email to