1 (edytowany przez viper_lasser 2025-06-18 05:49:24)

Temat: Połączenie 2 sieci lan na 1 routerze

Jestem po lekturze tego wątku.
https://eko.one.pl/forum/viewtopic.php?id=23246

Na LAN1-2 mam adresację 192.168.10.0/24 a na LAN3-4 mam adresację 192.168.104.0/24
Do portu LAN3 będzie podłączony komputer z innej podsieci.
Do portu LAN1 będzie komputer o adresie 192.168.10.200

Konfiguracja /etc/config/network

root@testowy:~# 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 packet_steering '1'
        option ula_prefix 'fdfb:bf2f:af48::/48'

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

config device
        option name 'br-iot'
        option type 'bridge'
#       option bridge_empty '1'
        list ports 'lan3'
        list ports 'lan4'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.10.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipv6 '0'
        option delegate '0'

config interface 'iot'
        option device 'br-iot'
        option proto 'static'
        option ipaddr '192.168.104.70'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipv6 '0'
        option deletage '0'

config interface 'n2n'
        option proto 'static'
        option netmask '255.255.255.0'
        option ipaddr '10.1.2.82'
        option device 'edge0'

config interface 'wan'
        option device 'wan'
        option proto 'dhcp'

Konfiguracja firewalla

root@testowy:~# cat /etc/config/firewall
config defaults
        option syn_flood        1
        option input            ACCEPT
        option output           ACCEPT
        option forward          REJECT
# Uncomment this line to disable ipv6 rules
#       option disable_ipv6     1

config zone
        option name             lan
        list   network          'lan'
        option input            ACCEPT
        option output           ACCEPT
        option forward          ACCEPT

config zone
        option name             lan_iot
        list   network          'lan_iot'
        option input            ACCEPT
        option output           ACCEPT
        option forward          ACCEPT

config zone
        option name             wan
        list   network          'wan'
        list   network          'wan6'
        option input            REJECT
        option output           ACCEPT
        option forward          REJECT
        option masq             1
        option mtu_fix          1

config zone
        option name n2n
        option network n2n
        option input ACCEPT
        option output ACCEPT
        option forward ACCEPT
        option masq 1

config forwarding
        option src lan
        option dest n2n

config forwarding
        option src n2n
        option dest lan

config forwarding
        option src wan
        option dest n2n

config forwarding
        option src n2n
        option dest wan

config forwarding
        option src lan
        option dest lan_iot

config forwarding
        option src lan_iot
        option dest lan

config forwarding
        option src              lan
        option dest             wan

# We need to accept udp packets on port 68,
# see https://dev.openwrt.org/ticket/4108
config rule
        option name             Allow-DHCP-Renew
        option src              wan
        option proto            udp
        option dest_port        68
        option target           ACCEPT
        option family           ipv4

# Allow IPv4 ping
config rule
        option name             Allow-Ping
        option src              wan
        option proto            icmp
        option icmp_type        echo-request
        option family           ipv4
        option target           ACCEPT

config rule
        option name             Allow-IGMP
        option src              wan
        option proto            igmp
        option family           ipv4
        option target           ACCEPT

# Allow DHCPv6 replies
# see https://github.com/openwrt/openwrt/issues/5066
config rule
        option name             Allow-DHCPv6
        option src              wan
        option proto            udp
        option dest_port        546
        option family           ipv6
        option target           ACCEPT

config rule
        option name             Allow-MLD
        option src              wan
        option proto            icmp
        option src_ip           fe80::/10
        list icmp_type          '130/0'
        list icmp_type          '131/0'
        list icmp_type          '132/0'
        list icmp_type          '143/0'
        option family           ipv6
        option target           ACCEPT

# Allow essential incoming IPv6 ICMP traffic
config rule
        option name             Allow-ICMPv6-Input
        option src              wan
        option proto    icmp
        list icmp_type          echo-request
        list icmp_type          echo-reply
        list icmp_type          destination-unreachable
        list icmp_type          packet-too-big
        list icmp_type          time-exceeded
        list icmp_type          bad-header
        list icmp_type          unknown-header-type
        list icmp_type          router-solicitation
        list icmp_type          neighbour-solicitation
        list icmp_type          router-advertisement
        list icmp_type          neighbour-advertisement
        option limit            1000/sec
        option family           ipv6
        option target           ACCEPT

# Allow essential forwarded IPv6 ICMP traffic
config rule
        option name             Allow-ICMPv6-Forward
        option src              wan
        option dest             *
        option proto            icmp
        list icmp_type          echo-request
        list icmp_type          echo-reply
        list icmp_type          destination-unreachable
        list icmp_type          packet-too-big
        list icmp_type          time-exceeded
        list icmp_type          bad-header
        list icmp_type          unknown-header-type
        option limit            1000/sec
        option family           ipv6
        option target           ACCEPT

config rule
        option name             Allow-IPSec-ESP
        option src              wan
        option dest             lan
        option proto            esp
        option target           ACCEPT

config rule
        option name             Allow-ISAKMP
        option src              wan
        option dest             lan
        option dest_port        500
        option proto            udp
        option target           ACCEPT

Teoretycznie niby mam przekierowanie pomiędzy dwoma strefami lan i lan_iot.

W czym może być problem i w jaki sposób sprawdzić dlaczego nie działa widoczność pomiędzy sieciami.
Z poziomu samego routera można pingować zarówno sieć lan jak i lan_iot.

2 (edytowany przez viper_lasser 2025-06-18 06:02:11)

Odp: Połączenie 2 sieci lan na 1 routerze

Mała aktualizacja

Interfejsy sieciowe

root@testowy:~# 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 packet_steering '1'
        option ula_prefix 'fdfb:bf2f:af48::/48'

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

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.10.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipv6 '0'
#       option delegate '0'

config device
        option name 'br-iot'
        option type 'bridge'
        list ports 'lan3'
        list ports 'lan4'

config interface 'iot'
        option device 'br-iot'
        option proto 'static'
        option ipaddr '192.168.104.70'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipv6 '0'
#       option deletage '0'

config interface 'n2n'
        option proto 'static'
        option netmask '255.255.255.0'
        option ipaddr '10.1.2.82'
        option device 'edge0'

config interface 'wan'
        option device 'wan'
        option proto 'dhcp'

Firewall

root@testowy:~# cat /etc/config/firewall
config defaults
        option syn_flood        1
        option input            ACCEPT
        option output           ACCEPT
        option forward          REJECT
# Uncomment this line to disable ipv6 rules
#       option disable_ipv6     1

config zone
        option name             lan
        list   network          'lan'
        option input            ACCEPT
        option output           ACCEPT
        option forward          ACCEPT

config zone
        option name             iot
        option network          'iot'
        option input            ACCEPT
        option output           ACCEPT
        option forward          ACCEPT
        option masq             1

config zone
        option name             wan
        list   network          'wan'
        list   network          'wan6'
        option input            REJECT
        option output           ACCEPT
        option forward          REJECT
        option masq             1
        option mtu_fix          1

config zone
        option name n2n
        option network n2n
        option input ACCEPT
        option output ACCEPT
        option forward ACCEPT
        option masq 1

config forwarding
        option src lan
        option dest n2n

config forwarding
        option src n2n
        option dest lan

config forwarding
        option src wan
        option dest n2n

config forwarding
        option src n2n
        option dest wan

config forwarding
        option src lan
        option dest iot

config forwarding
        option src              lan
        option dest             wan

# We need to accept udp packets on port 68,
# see https://dev.openwrt.org/ticket/4108
config rule
        option name             Allow-DHCP-Renew
        option src              wan
        option proto            udp
        option dest_port        68
        option target           ACCEPT
        option family           ipv4

# Allow IPv4 ping
config rule
        option name             Allow-Ping
        option src              wan
        option proto            icmp
        option icmp_type        echo-request
        option family           ipv4
        option target           ACCEPT

config rule
        option name             Allow-IGMP
        option src              wan
        option proto            igmp
        option family           ipv4
        option target           ACCEPT

# Allow DHCPv6 replies
# see https://github.com/openwrt/openwrt/issues/5066
config rule
        option name             Allow-DHCPv6
        option src              wan
        option proto            udp
        option dest_port        546
        option family           ipv6
        option target           ACCEPT

config rule
        option name             Allow-MLD
        option src              wan
        option proto            icmp
        option src_ip           fe80::/10
        list icmp_type          '130/0'
        list icmp_type          '131/0'
        list icmp_type          '132/0'
        list icmp_type          '143/0'
        option family           ipv6
        option target           ACCEPT

# Allow essential incoming IPv6 ICMP traffic
config rule
        option name             Allow-ICMPv6-Input
        option src              wan
        option proto    icmp
        list icmp_type          echo-request
        list icmp_type          echo-reply
        list icmp_type          destination-unreachable
        list icmp_type          packet-too-big
        list icmp_type          time-exceeded
        list icmp_type          bad-header
        list icmp_type          unknown-header-type
        list icmp_type          router-solicitation
        list icmp_type          neighbour-solicitation
        list icmp_type          router-advertisement
        list icmp_type          neighbour-advertisement
        option limit            1000/sec
        option family           ipv6
        option target           ACCEPT

# Allow essential forwarded IPv6 ICMP traffic
config rule
        option name             Allow-ICMPv6-Forward
        option src              wan
        option dest             *
        option proto            icmp
        list icmp_type          echo-request
        list icmp_type          echo-reply
        list icmp_type          destination-unreachable
        list icmp_type          packet-too-big
        list icmp_type          time-exceeded
        list icmp_type          bad-header
        list icmp_type          unknown-header-type
        option limit            1000/sec
        option family           ipv6
        option target           ACCEPT

config rule
        option name             Allow-IPSec-ESP
        option src              wan
        option dest             lan
        option proto            esp
        option target           ACCEPT

config rule
        option name             Allow-ISAKMP
        option src              wan
        option dest             lan
        option dest_port        500
        option proto            udp
        option target           ACCEPT

Po stronie LAN1 mam komputer1 o IP 192.168.10.140, po stronie LAN3 komputer2 o IP 192.168.104.71
Router na LAN3 ma adres 192.168.104.70.
Na LAN3, 4 nie ma dhcp'a bo z założenia będzie tutaj podłączony kabel lan który będzie pochodził z innego routera.

Aktualnie z komputera 1 mogę pingować 192.168.104.70 oraz drugi komputer 192.168.104.71
Niestety z komputera 2 nie mogę pingować komputera 1.

Firewalle na obu komputerach są wyłączone. Komputer 1 ma win11, komputer 2 ma win10.

Edit:
Chat gpt podpowiada mi żeby dodać jeszcze przekierowanie ruchu z iot do lan, tzn brakuje tego wpisu
config forwarding
        option src iot
        option dest lan

3

Odp: Połączenie 2 sieci lan na 1 routerze

Po dodaniu obsługi dhcp dla interfejsu iot w pliku /etc/config/dhcp
config dhcp 'iot'
        option interface 'iot'
        option start '80'
        option limit '10'
        option leasetime '1h'
#        option ignore '1'

Mam widoczność w obie strony tj sieć 192.168.10.0/24 widzi sieć 192.168.104.0/24.

Niestety jeśli nie chcę stosować dhcp dla sieci 192.168.104.0/24 bo tam będzie sieć z innego routera.
Jesli wyłączę dhcp dla iot (2 podsieć na routerze) poprzez "option ignore 1" to niestety z komputera 2 nie mogę się dostać do komputera 1 (192.168.10.140 - 1 podsieć).

W komputerze 2 ustawiam IP 192.168.104.71, maska 255.255.255.0, brama 192.168.104.70. W routerze z openwrt dla lan3,4 mam przyporządkowany adres 192.168.104.70 więc jest to brama dla komputera 2. Zresztą przy dhcp dla iot taką bramę otrzymywałem.

Nie wiem dlaczego po wyłączeniu dhcp dla iot komputer 2 nie widzi komputera 1 a jesli dhcp jest aktywne to wszystko działa ok.
Przy wyłączonym dhcp komputer 2 nie widzi komputera 1 ale w drugą stronę tj. komputer 1 widzi komputer 2.

Co trzeba jeszcze poustawiać ?

4

Odp: Połączenie 2 sieci lan na 1 routerze

Kompletnie nie rozumiem skąd masz takie problemy. Jak dla mnie to hosty nie mają gatewaya tym bardziej że piszesz że działa po włączeniu dhcp a nie jak masz statyczny adres IP.

Główny na 192.168.11.1, klient podłączony po kablu dostaje adres z dhcp. Dodatkowo utworzona sieć na 172.16.0.1, dhcp wyłączone, do niej dołączony host z ustawionym adresem 172.16.0.10 i gatewayem 172.16.0.1

Pingowanie z hosta działa:

~$ ping 172.16.0.10
PING 172.16.0.10 (172.16.0.10) 56(84) bytes of data.
64 bytes from 172.16.0.10: icmp_seq=1 ttl=63 time=0.928 ms
64 bytes from 172.16.0.10: icmp_seq=2 ttl=63 time=1.20 ms
64 bytes from 172.16.0.10: icmp_seq=3 ttl=63 time=0.853 ms

Przeglądarka może się dostać do gui tego routera.
Pełne konfigi:

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

config device
    option name 'br-lan'
    option type 'bridge'
    list ports 'lan2'
    list ports 'lan3'
    list ports 'lan4'
    option bridge_empty '1'

config interface 'lan'
    option device 'br-lan'
    option proto 'static'
    option ipaddr '192.168.11.1'
    option netmask '255.255.255.0'
    option ip6assign '60'
    option ipv6 '0'

config interface 'wan'
    option ipv6 '0'
    option metric '10'
    option apn 'internet'
    option device '/dev/cdc-wdm0'
    option proto 'mbim'
    option peerdns '0'
    list dns '1.0.0.1'
    list dns '1.1.1.1'

config interface 'n9g1xzr7'
    option description 'test'
    option proto 'static'
    option device 'br-n9g1xzr7'
    option ipaddr '172.16.0.1'
    option netmask '255.255.255.0'

config device
    option name 'br-n9g1xzr7'
    option type 'bridge'
    option bridge_empty '1'
    list ports 'lan5'
config defaults
    option syn_flood '1'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option flow_offloading '0'
    option flow_offloading_hw '0'

config zone
    option name 'lan'
    list network 'lan'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'ACCEPT'

config zone
    option name 'wan'
    list network 'wan'
    list network 'wan6'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'

config forwarding
    option src 'lan'
    option dest 'wan'

config rule
    option name 'Allow-DHCP-Renew'
    option src 'wan'
    option proto 'udp'
    option dest_port '68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow-Ping'
    option src 'wan'
    option proto 'icmp'
    option icmp_type 'echo-request'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-IGMP'
    option src 'wan'
    option proto 'igmp'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-DHCPv6'
    option src 'wan'
    option proto 'udp'
    option dest_port '546'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-MLD'
    option src 'wan'
    option proto 'icmp'
    option src_ip 'fe80::/10'
    list icmp_type '130/0'
    list icmp_type '131/0'
    list icmp_type '132/0'
    list icmp_type '143/0'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Input'
    option src 'wan'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    list icmp_type 'router-solicitation'
    list icmp_type 'neighbour-solicitation'
    list icmp_type 'router-advertisement'
    list icmp_type 'neighbour-advertisement'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Forward'
    option src 'wan'
    option dest '*'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-IPSec-ESP'
    option src 'wan'
    option dest 'lan'
    option proto 'esp'
    option target 'ACCEPT'

config rule
    option name 'Allow-ISAKMP'
    option src 'wan'
    option dest 'lan'
    option dest_port '500'
    option proto 'udp'
    option target 'ACCEPT'

config zone
    option name 'n9g1xzr7'
    list network 'n9g1xzr7'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'

config forwarding
    option src 'lan'
    option dest 'n9g1xzr7'

config forwarding
    option dest 'lan'
    option src 'n9g1xzr7'
config dnsmasq
    option domainneeded '1'
    option boguspriv '1'
    option filterwin2k '0'
    option localise_queries '1'
    option rebind_protection '1'
    option rebind_localhost '1'
    option local '/lan/'
    option domain 'lan'
    option expandhosts '1'
    option nonegcache '0'
    option cachesize '1000'
    option authoritative '1'
    option readethers '1'
    option leasefile '/tmp/dhcp.leases'
    option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
    option nonwildcard '1'
    option localservice '1'
    option ednspacket_max '1232'
    option filter_aaaa '0'
    option filter_a '0'
    list rebind_domain 'free.aero2.net.pl'

config dhcp 'lan'
    option interface 'lan'
    option start '100'
    option limit '150'
    option leasetime '12h'
    option dhcpv6 'disabled'

config dhcp 'wan'
    option interface 'wan'
    option ignore '1'

config dhcp 'n9g1xzr7'
    option interface 'n9g1xzr7'
    option ignore '1'

Działa, tak po prostu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Połączenie 2 sieci lan na 1 routerze

@Cezary. Dzięki za podpowiedź ale mi to do końca nie działa.
Twój konfig jest generalnie taki sam jak u mnie. Jeśli w /etc/config/dhcp dla danego interfejsu np. lan czy iot mam włączonego dhcp to wszystko działa.
Problem jest tylko taki że ja na LAN3 - 4 nie chcę ustawiać dhcp.

Dla dhcp mam taki konfig
config dhcp 'iot'
        option interface 'iot'
        option start '80'
        option limit '10'
        option leasetime '1h'
#       option force '1'
        option ignore '0'
        option dhcpv4 'server'
        option dhcpv6 'server'
#       option dhcpv4 'disabled'
#       option dhcpv6 'disabled'
#       list dhcp_option '3,192.168.104.70' #brama
#       list dhcp_option '6,192.168.104.70' #dns
Jeśli zmienię wyłączę dhcp za pomocą "option dhcpv4 'disabled' to komputer 2 podłączony do LAN 3 nie widzi komputera 1 podłączonego do LAN1.

Pomyślałem jeszcze żeby przekierować dany port z LAN1 do LAN3. Po dodaniu w firewallu odpowiedniego przekierowania i przy wyłączonym dhcp niestety to nie działa.

config redirect
        option src              lan
        option src_ip           192.168.10.140
        option src_dport        502
        option dest             iot
        option dest_ip          192.168.104.70
        option dest_port        502
        option proto            tcp

192.168.10.140 - komputer 1
192.168.104.70 - adres IP w routerze dla LAN 3 - 4.

6

Odp: Połączenie 2 sieci lan na 1 routerze

Jeżeli nie zauważyłeś to ja sieć dodatkową miałem na lan5 i też miałem wyłączony serwer dhcp na nim (option ignore 1), host dołączony do tej  sieci miał statyczny adres IP.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7 (edytowany przez viper_lasser 2025-06-20 07:41:06)

Odp: Połączenie 2 sieci lan na 1 routerze

@Cezary, Rzeczywiście nie zauważyłem "option ignore 1" dla iot w moim przypadku.
Zorientowałem się że dla komputera 2 który ma tą drugą podsieć z takimi parametrami
ip: 192.168.104.71
maska: 255.255.255.0
brama 192.168.104.70

Na szybko w konsoli dodałem routing statyczny tj route add 192.168.10.0 mask 255.255.255.0 192.168.104.70
gdzie 192.168.104.70 to interfejs statyczny iot w routerze dla tej sieci.

Kombinowałem żeby bez dhcp można było się dostać bezpośrednio do komputera 1 o adresie 192.168.10.140.

Edit:
Problem mam rozwiązany.
Okazało się że miałem ustawioną metrykę automatyczną dla karty sieciowej przez którą chciałem się dostać do drugiej sieci. Metryka była wyższa niż ta od domyślnej bramy z internetem i ruch nie przechodził.
Można to było sprawdzić poleceniem route print.
Problem rozwiązany
@Cezary - dziękuję za pomoc i nakierowanie smile