On Fri, Jun 23, 2023 at 6:18 PM David Gwynne <da...@gwynne.id.au> wrote:
>
> looks good to me after a quick read.
>
> > On 23 Jun 2023, at 12:15, Amarendra Godbole <amarendra.godb...@gmail.com> 
> > wrote:
> >
> > I am planning to experiment with veb on my PC Engines apu2e4 board. It
> > has three ports (em0, 1 and 2). Current configuration has em0 hooked
> > up to cable modem, while em1 and em2 are internal LAN. I don't have a
> > good ability to troubleshoot via a serial console, since the apu board
> > sits in the garage on top of a cabinet -- running serial cable to a
> > laptop is challenging, though not impossible. So I am looking for
> > feedback so as to keep this troubleshooting time minimal.
[...]

Thanks for the review, David. I finally managed to find a window when
my family was away from the internet, so I could experiment. :-) My
internet is delivered via Comcast cable modem, hooked to the APU's em0
port. A Ruckus wireless AP connects to em1.

Here is a fully working configuration:

$ cat hostname.em0
dhcp description "comcast uplink"

$ cat hostname.em1
mtu 9000
up

$ cat hostname.em2
mtu 9000
up

$ cat hostname.veb0
add em1
add em2
add vport0
link0
up

$ cat hostname.vport0
inet 192.168.1.1 255.255.255.0 192.168.1.255
mtu 9000
group internal
up

$ cat pf.conf
table <martians> { 0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 169.254.0.0/16          \
                              172.16.0.0/12 192.0.0.0/24 192.0.2.0/24
224.0.0.0/3  \
                              192.168.0.0/16 198.18.0.0/15
198.51.100.0/24           \
                               203.0.113.0/24 }

set block-policy drop
set loginterface egress
set skip on lo0
match in all scrub (no-df random-id max-mss 1440)

antispoof quick for egress
block in from no-route
block in quick from urpf-failed

block in quick on egress from <martians> to any
block return out quick on egress from any to <martians>

block all
match out on egress nat-to (egress)
pass out quick inet
pass in on internal inet
block return in quick on internal proto { udp tcp } to ! internal port
{ domain domain-s }

$ cat rc.conf.local
dhcpd_flags=vport0
unbound_flags=
unbound_timeout=240

$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
index 5 priority 0 llprio 3
groups: lo
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet 127.0.0.1 netmask 0xff000000

em0: flags=808843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF4> mtu 1500
lladdr 00:0d:b9:56:f4:fc
index 1 priority 0 llprio 3
groups: egress
media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
status: active
inet 98.35.243.87 netmask 0xffffff00 broadcast 98.35.243.255

em1: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST>
mtu 9000
lladdr 00:0d:b9:56:f4:fd
index 2 priority 0 llprio 3
media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
status: active

em2: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST>
mtu 9000
lladdr 00:0d:b9:56:f4:fe
index 3 priority 0 llprio 3
media: Ethernet autoselect (none)
status: no carrier

enc0: flags=0<>
index 4 priority 0 llprio 3
groups: enc
status: active

veb0: flags=9843<UP,BROADCAST,RUNNING,SIMPLEX,LINK0,MULTICAST>
index 6 llprio 3
groups: veb
em1 flags=3<LEARNING,DISCOVER>
port 2 ifpriority 0 ifcost 0
em2 flags=3<LEARNING,DISCOVER>
port 3 ifpriority 0 ifcost 0
vport0 flags=3<LEARNING,DISCOVER>
port 7 ifpriority 0 ifcost 0

vport0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 9000
lladdr fe:e1:ba:d0:18:bd
index 7 priority 0 llprio 3
groups: vport internal
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255

pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33136
index 8 priority 0 llprio 3
groups: pflog

Thanks.

-Amarendra

Reply via email to