Temat: Bardzo dziwna konfiguracja z zewnętrznym DHCP i bridgem
Witam,
na wstępie zaznaczę, że nie wiem czy to jest odpowiedni dział. Niby związane, a jednak nie całkiem... ![]()
Posiadam TP-LINK-WR740N niedawno nabyte, tylko po to by przetestować pewną konfigurację sieciową. Pracuje pod OpenWrt 18.06.5 r7897-9d401013fc. Aktulanie sieć wygląda tak:
Serwer DHCP (10.0.0.1) <----1----> TP-LINK<----2---->PC
1: 10.0.0.0/24, TP-LINK odbiera IP z DHCP
2: 192.168.1.0/24, TP-LINK ma 192.168.1.1 i jest serwerem DHCP, PC odbiera IP po DHCP
Chciałbym, aby zamiast TP-LINKa, który odbiera jakieś IP, to IP odbierało PC bezpośrednio (czyli dosłownie tak, jakbym PC podpiął do 1):
Serwer DHCP<-------->PC,
ale tak, by TP-LNIK pozostał w sieci, bez przełączania żadnych kabli.
Naturalnie, chciałem to zrobić z brctl, żeby zbridgować oba urządzenia na L2. Ta konfiguracja kompletnie wyelminiuje dostęp to TP-LINKa, a otworzy dostęp do sieci 1. Niestety, pakiety nie były poprawnie przekazywane w obrębie samego bridga, od serwera macierzystego po requsetcie, po przełączeniu z sieci do sieci dostawałem NAK, ale za to po discover nie dostawałem ACK, nie wiem dlaczego, więc spróbowałem takiego czegoś:
uci network:
network.loopback=interface
network.loopback.ifname='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.lan=interface
network.lan.ifname='eth0.1'
network.lan.proto='static'
network.lan.ipaddr='192.168.1.1'
network.lan.netmask='255.255.255.0'
network.lan.delegate='0'
network.@switch[0]=switch
network.@switch[0].name='switch0'
network.@switch[0].reset='1'
network.@switch[0].enable_vlan='1'
network.@switch_vlan[0]=switch_vlan
network.@switch_vlan[0].device='switch0'
network.@switch_vlan[0].vlan='1'
network.@switch_vlan[0].vid='1'
network.@switch_vlan[0].ports='0t 2 4'
network.@switch_vlan[1]=switch_vlan
network.@switch_vlan[1].device='switch0'
network.@switch_vlan[1].vlan='2'
network.@switch_vlan[1].vid='2'
network.@switch_vlan[1].ports='0t 1'
network.@switch_vlan[2]=switch_vlan
network.@switch_vlan[2].device='switch0'
network.@switch_vlan[2].vlan='3'
network.@switch_vlan[2].vid='3'
network.@switch_vlan[2].ports='0t 3'
network.@switch_vlan[3]=switch_vlan
network.@switch_vlan[3].device='switch0'
network.@switch_vlan[3].vlan='4'
network.@switch_vlan[3].vid='4'
network.DIRECT=interface
network.DIRECT.type='bridge'
network.DIRECT.proto='none'
network.DIRECT.ifname='eth0.2 eth0.3'
network.DIRECT.delegate='0'
network.DIRECT.force_link='1'
network.DIRECT.macaddr='XX:XX:XX:XX:XX:XX'
network.DIRECT.auto='0'Pomiędzy portem 1 a 2 podłączyłem fizyczny kabelek.
Gdy podpinam się do portu 4, to jest sytuacja jak w 1. przypadku, gdzie wszystko działa (nie wychodzę poza TP-LINKa). Natomiast, podłączając się do 3, powinienem mieć również dostęp do 192.168.1.0/24 na poziome L2, a więc również komunikować się tak samo z DHCP, jak gdy jestem podłączony do portu 4.
Realnie jednak przechodzą tylko pakiety broadcast, router widzi request, ale PC nie widzi ACK:
...
Tue Nov 5 15:18:42 2019 daemon.info dnsmasq-dhcp[1157]: DHCPREQUEST(eth0.1) 192.168.1.133 YY:YY:YY:YY:YY:YY
Tue Nov 5 15:18:42 2019 daemon.info dnsmasq-dhcp[1157]: DHCPACK(eth0.1) 192.168.1.133 YY:YY:YY:YY:YY:YY PC_hostname
Tue Nov 5 15:18:50 2019 daemon.info dnsmasq-dhcp[1157]: DHCPREQUEST(eth0.1) 192.168.1.133 YY:YY:YY:YY:YY:YY
Tue Nov 5 15:18:50 2019 daemon.info dnsmasq-dhcp[1157]: DHCPACK(eth0.1) 192.168.1.133 YY:YY:YY:YY:YY:YY PC_hostname
Tue Nov 5 15:19:03 2019 daemon.info dnsmasq-dhcp[1157]: DHCPDISCOVER(eth0.1) 192.168.1.133 YY:YY:YY:YY:YY:YY
Tue Nov 5 15:19:03 2019 daemon.info dnsmasq-dhcp[1157]: DHCPOFFER(eth0.1) 192.168.1.133 YY:YY:YY:YY:YY:YY
Tue Nov 5 15:19:09 2019 daemon.info dnsmasq-dhcp[1157]: DHCPDISCOVER(eth0.1) 192.168.1.133 YY:YY:YY:YY:YY:YY
Tue Nov 5 15:19:09 2019 daemon.info dnsmasq-dhcp[1157]: DHCPOFFER(eth0.1) 192.168.1.133 YY:YY:YY:YY:YY:YY
Tue Nov 5 15:19:19 2019 daemon.info dnsmasq-dhcp[1157]: DHCPDISCOVER(eth0.1) 192.168.1.133 YY:YY:YY:YY:YY:YY
Tue Nov 5 15:19:19 2019 daemon.info dnsmasq-dhcp[1157]: DHCPOFFER(eth0.1) 192.168.1.133 YY:YY:YY:YY:YY:YY
Tue Nov 5 15:19:28 2019 daemon.info dnsmasq-dhcp[1157]: DHCPREQUEST(eth0.1) 192.168.1.133 YY:YY:YY:YY:YY:YY
Tue Nov 5 15:19:28 2019 daemon.info dnsmasq-dhcp[1157]: DHCPACK(eth0.1) 192.168.1.133 YY:YY:YY:YY:YY:YY PC_hostname
...1. Co się popsuło?
2. Jak to poprawić?
PS: Dopiero teraz zauważyłem, gdy porty 1 i 2 są połączone, to DHCP nie odpowiada nawet na porcie 4, ale cały czas router odpowiada na L3. Czy utworzyła się jakaś pętla pomimo występowania vlanów?