How one port uplink (like wan) form switch port in OpenWrt 22.03

Hello,

I would like to setup my openwrt router to act as dhcp client at one port for configuration purpose, install packages and so on.
Goal:
port lan4 as uplink to home network config via dhcp, routed, ...
ports lan1 to lan3 in default (static 192.168.1.1, dhcp server, bridged … )

Device: ArcadyanVGV7510KW22 (O2Box6431)
Opemwrt version: OpenWrt 22.03.1 r19777-2853b6d652 / LuCI openwrt-22.03 branch git-22.245.77528-487e58a

https://openwrt.org/toh/arcadyan/vgv7510kw22

Swich HW config:

I removed lan4 from device br-lan and set up new interface β€œextern” as dhcp client
but this not enough: no IP form dhcp, no route and so on.

Before OpenWrt 21 I had to configure the switch vlans do make it work.

I am sure I miss something.

root@OpenWrt:~# cat /etc/config/network 

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fd1b:2008:0fa7::/48'

config atm-bridge 'atm'
	option vpi '1'
	option vci '32'
	option encaps 'llc'
	option payload 'bridged'
	option nameprefix 'dsl'

config dsl 'dsl'
	option annex 'b'
	option tone 'av'
	option ds_snr_offset '0'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'

config interface 'lan'
	option device 'br-lan'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ip6assign '60'

config device
	option name 'dsl0'
	option macaddr '9c:80:df:3d:79:8c'

config interface 'wan'
	option device 'dsl0'
	option proto 'pppoe'
	option username 'username'
	option password 'password'
	option ipv6 '1'

config interface 'wan6'
	option device '@wan'
	option proto 'dhcpv6'

config interface 'extern'
	option device 'lan4'
	option proto 'dhcp'
	option hostname '*'

root@OpenWrt:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    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 1508 qdisc fq_codel state UNKNOWN qlen 1000
    link/ether 9c:80:df:3d:79:8a brd ff:ff:ff:ff:ff:ff
    inet6 fe80::9e80:dfff:fe3d:798a/64 scope link 
       valid_lft forever preferred_lft forever
3: wan@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 9c:80:df:3d:79:8a brd ff:ff:ff:ff:ff:ff
4: lan2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 9c:80:df:3d:79:8a brd ff:ff:ff:ff:ff:ff
5: lan1@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether 9c:80:df:3d:79:8a brd ff:ff:ff:ff:ff:ff
6: lan4@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 9c:80:df:3d:79:8a brd ff:ff:ff:ff:ff:ff
    inet6 fe80::9e80:dfff:fe3d:798a/64 scope link 
       valid_lft forever preferred_lft forever
7: lan3@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether 9c:80:df:3d:79:8a brd ff:ff:ff:ff:ff:ff
8: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 9c:80:df:3d:79:8b brd ff:ff:ff:ff:ff:ff
9: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 9c:80:df:3d:79:8a brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 fd1b:2008:fa7::1/60 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::9e80:dfff:fe3d:798a/64 scope link 
       valid_lft forever preferred_lft forever

Additionally, you can't have two interfaces configured as DHCP client (without rather fine grained filtering and/ or static routes and policy based routing) - they'd randomly stomp over each other and mess up your default route.

1 Like