Die kleinen Platinen gibt es ja selten mit zwei LAN Schnittstellen, dabei würde es sich anbieten damit kleine Router / Firewalls für zu Hause zu bauen. Dank vieler guter Anschlüsse am ROCKPro64 kann man da aber gute Sachen mit bauen. Ich habe schon was länger einen USB-C > LAN Adapter. Das sollt für ausreichende Geschwindigkeit sorgen.

root@rockpro64:~# lsusb
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Nach dem Einbau der LAN Schnittstelle, sieht das dann so aus.

rock64@rock64:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.10/24 brd 192.168.3.255 scope global dynamic eth0
valid_lft 7054sec preferred_lft 7054sec
inet6 2a02:908:1266:9690:6003:b0ff:fed6:dcb3/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 7173sec preferred_lft 573sec
inet6 fe80::6003:b0ff:fed6:dcb3/64 scope link
valid_lft forever preferred_lft forever
3: enx00e04c68026f: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:e0:4c:68:02:6f brd ff:ff:ff:ff:ff:ff
4: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state DORMANT group default qlen 1000
link/ether ac:83:f3:e6:1f:b2 brd ff:ff:ff:ff:ff:ff

Da ich aber immer Schwierigkeiten mit Interface Namen ala enx00e04c68026f habe, bauen wir das um.

root@rockpro64:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff
inet 192.168.178.35/24 brd 192.168.178.255 scope global dynamic eth0
valid_lft 862696sec preferred_lft 862696sec
inet6 2a02:908:1266:9680::10/60 scope global
valid_lft forever preferred_lft forever
inet6 fe80::6003:b0ff:fed6:dcb3/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:e0:4c:68:02:6f brd ff:ff:ff:ff:ff:ff
4: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DORMANT group default qlen 1000
link/ether 6a:80:fb:53:2b:4d brd ff:ff:ff:ff:ff:ff

Das Ganze habe ich dann um VLan-Funktionalität erweitert.

root@rockpro64:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff
inet 192.168.178.35/24 brd 192.168.178.255 scope global dynamic eth0
valid_lft 862696sec preferred_lft 862696sec
inet6 2a02:908:1266:9680::10/60 scope global
valid_lft forever preferred_lft forever
inet6 fe80::6003:b0ff:fed6:dcb3/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:e0:4c:68:02:6f brd ff:ff:ff:ff:ff:ff
4: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DORMANT group default qlen 1000
link/ether 6a:80:fb:53:2b:4d brd ff:ff:ff:ff:ff:ff
5: eth1.100@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:e0:4c:68:02:6f brd ff:ff:ff:ff:ff:ff
inet 192.168.3.1/24 brd 192.168.3.255 scope global eth1.100
valid_lft forever preferred_lft forever
inet6 fe80::2e0:4cff:fe68:26f/64 scope link
valid_lft forever preferred_lft forever
6: eth1.200@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:e0:4c:68:02:6f brd ff:ff:ff:ff:ff:ff
inet 192.168.5.1/24 brd 192.168.5.255 scope global eth1.200
valid_lft forever preferred_lft forever
inet6 fe80::2e0:4cff:fe68:26f/64 scope link
valid_lft forever preferred_lft forever

Dann noch auf dem ROCKPro64 einen DHCP-Server aufsetzen und mittels iptables die Netze trennen usw. Danach den Switch entsprechend konfigurieren und der kleine Router/Firewall ist fertig. Das habe ich dann auch mit meiner PS4 getestet - läuft! Wenn Ihr mehr dazu lesen wollt, euch die Scripte interessieren, das alles findet ihr in meinem Forum. Wie immer, wer Verbesserungen, Anmerkungen hat, darf das gerne kommentieren.

Wenn dann im April der HardROCK64 rauskommt, werde ich damit dann meine pfSense ablösen.