1 1.14 joe # $NetBSD: npftest.conf,v 1.14 2025/07/01 20:19:30 joe Exp $ 2 1.1 rmind 3 1.1 rmind $ext_if = "npftest0" 4 1.1 rmind $int_if = "npftest1" 5 1.1 rmind 6 1.9 rmind set portmap.min_port 1024 7 1.9 rmind set portmap.max_port 65535 8 1.9 rmind 9 1.1 rmind # 10 1.1 rmind # RFC 5737 11 1.1 rmind # 12 1.1 rmind 13 1.1 rmind $pub_ip1 = 192.0.2.1 14 1.1 rmind $pub_ip2 = 192.0.2.2 15 1.4 rmind $pub_ip3 = 192.0.2.3 16 1.1 rmind 17 1.1 rmind $local_ip1 = 10.1.1.1 18 1.1 rmind $local_ip2 = 10.1.1.2 19 1.1 rmind $local_ip3 = 10.1.1.3 20 1.1 rmind $local_ip4 = 10.1.1.4 21 1.13 joe $Kojo = 1001 22 1.13 joe $wheel = 20 23 1.1 rmind 24 1.1 rmind $local_net = { 10.1.1.0/24 } 25 1.1 rmind $ports = { 8000, 9000 } 26 1.1 rmind 27 1.14 joe # 28 1.14 joe # RFC 7042 29 1.14 joe # 30 1.14 joe # 00:00:5E:00:53:00 - 00:00:5E:00:53:FF 31 1.14 joe $mac1 = 00:00:5E:00:53:00 32 1.14 joe $mac2 = 00:00:5E:00:53:01 33 1.14 joe $mac3 = 00:00:5E:00:53:02 34 1.14 joe 35 1.4 rmind map $ext_if static $local_ip3 <-> $pub_ip3 36 1.1 rmind map $ext_if dynamic $local_ip2 <-> $pub_ip2 37 1.1 rmind map $ext_if dynamic $local_net -> $pub_ip1 38 1.1 rmind map $ext_if dynamic $local_ip1 port 6000 <- $pub_ip1 port 8000 39 1.1 rmind 40 1.6 rmind $net6_inner = fd01:203:405::/48 41 1.6 rmind $net6_outer = 2001:db8:1::/48 42 1.6 rmind 43 1.10 riastrad # Example of multiple addresses with a common 32-bit word, taken from 44 1.10 riastrad # PR bin/55403: npfctl miscompiles IPv6 rules. 45 1.12 riastrad $net6_pr55403 = { fe80::1, fe80::1000:0:0/95, fe80::2, fe80::2000:0:0/96, fe80::3, fe80::3000:0:0/97 } 46 1.10 riastrad 47 1.6 rmind $net_a = 10.100.0.0/16 48 1.6 rmind $net_b = 10.255.0.0/16 49 1.6 rmind 50 1.5 rmind map $ext_if static algo npt66 $net6_inner <-> $net6_outer 51 1.6 rmind map $ext_if static algo netmap $net_a <-> $net_b 52 1.8 rmind map ruleset "map:some-daemon" on $ext_if 53 1.5 rmind 54 1.3 rmind group "ext" on $ext_if { 55 1.4 rmind pass out final from $local_ip3 56 1.4 rmind pass in final to $pub_ip3 57 1.13 joe pass in final from $local_ip4 user $Kojo group $wheel 58 1.13 joe block out final to 127.0.0.1 user > $Kojo group 1 >< $wheel 59 1.4 rmind 60 1.5 rmind pass out final from $net6_inner 61 1.5 rmind pass in final to $net6_outer 62 1.5 rmind 63 1.6 rmind pass out final from $net_a 64 1.6 rmind pass in final to $net_b 65 1.6 rmind 66 1.1 rmind pass stateful out final proto tcp flags S/SA all 67 1.1 rmind pass stateful out final from $local_net 68 1.1 rmind pass stateful in final to any port $ports 69 1.1 rmind pass stateful in final proto icmp all 70 1.10 riastrad 71 1.1 rmind block all 72 1.1 rmind } 73 1.1 rmind 74 1.3 rmind group "int" on $int_if { 75 1.3 rmind ruleset "test-rules" 76 1.1 rmind pass stateful out final to $local_ip2 77 1.1 rmind pass out final to $local_ip3 78 1.1 rmind block final to $local_ip4 79 1.11 riastrad 80 1.11 riastrad pass in final family inet6 proto udp from $net6_pr55403 81 1.11 riastrad pass in final family inet6 proto udp from ! $net6_pr55403 to $net6_pr55403 82 1.1 rmind } 83 1.1 rmind 84 1.14 joe group "ext2" on $int_if layer-2 { 85 1.14 joe ruleset "l2-ruleset" layer-2 86 1.14 joe pass ether in final from $mac1 to $mac2 type Ex86DD 87 1.14 joe block ether in final from $mac2 88 1.14 joe pass ether out final to $mac3 type Ex809B 89 1.14 joe } 90 1.14 joe 91 1.3 rmind group default { 92 1.1 rmind block all 93 1.1 rmind } 94 1.14 joe 95 1.14 joe group default layer-2 { 96 1.14 joe block ether all 97 1.14 joe } 98