Temat: Trasa domyślna przy stałym ip i zapis list ip w nftables

Witam,
Mam dwa problemy:
1. Po ustawieniu stałego ip na interfejsie wan znika mi trasa domyślna po restarcie routera przez co tracę dostęp do internetu? Jak to zdiagnozować, co w ogóle w openwrt odpowiada za ustawienie trasy domyślnej? Usunąłem wszystkie pakiety odpowiedzialne za ipv6 w tym serwer i klient dhcpv6 może stąd problem?

2. Mam zainstalowany pakiet dnsmasq-full i ustawione domeny w Network>Dhcp and Dns>IP Sets. W Network>Firewall>IP Sets jest również skonfigurowany set o tej samej nazwie. Wszystko działa, komenda nft list sets pokazuje że adresy ip są dodawane, tylko po restarcie routera lista jest pusta. Jak mogę ją zapisać? Na kompie z linuxem wywołuje po prostu w cronie ipset save... a netfilter-persistent robi reszte. Tutaj chyba to nie przejdzie bo musiałbym zrezygnować całkiem z graficznego interfejsu do konfiguracji firewall bo jak rozumiem na tej podstawie jest generowany cały skrypt nftables.

Jeszcze pytanie, czy jest jakaś różnica pomiędzy zakładką Network>Dhcp and Dns>IP Sets a ustawieniem IP Sets w zakładce Network>Dhcp and Dns>General Settings?

2

Odp: Trasa domyślna przy stałym ip i zapis list ip w nftables

1. Bo nie ustawiłeś gatewaya? Bez niego nie będziesz miał trasy domyślnej.
2. tak jak wspomniałeś. Ginie to więc ew co jakiś czas musisz zapisywać zawartość.

No i nie patrz przez pryzmat luci co możesz zrobić a co nie. Gui też jest ograniczone w pewnym stopniu i na 100% nie zawiera wszystkiego co możesz zrobić.

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

3 (edytowany przez Damiano 2023-10-30 17:41:22)

Odp: Trasa domyślna przy stałym ip i zapis list ip w nftables

No właśnie jest wszystko ustawione. Nie wiem jak się zabrać za diagnozowanie tego problemu, w wersji 22 na stałym ip bez problemu działało wszystko.
Jeśli chodzi o drugi problem to nie wiem jak to zrobić, czy jest jakiś wbudowany sposób czy trzeba coś rzeźbić samemu.

Co do luci to wiem ale zrobić można naprawdę dużo. Iptables mam w miarę ogarnięte na linuxie a dzięki luci nie muszę się od nowa uczyć nftables, wydaje się dużo bardziej skomplikowane.

4

Odp: Trasa domyślna przy stałym ip i zapis list ip w nftables

Pokaż wyniki

uci show network
route -n

Jak masz ten statyczny adres ustawiony.

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

5 (edytowany przez Damiano 2023-10-30 19:32:08)

Odp: Trasa domyślna przy stałym ip i zapis list ip w nftables

root@OpenWrt:~# uci show network
network.loopback=interface
network.loopback.device='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.globals.ula_prefix='fd13:deae:3ddf::/48'
network.wan=interface
network.wan.proto='static'
network.wan.ipaddr='192.168.1.5/24'
network.wan.gateway='192.168.1.1'
network.wan.dns='192.168.1.1'
network.@device[0]=device
network.@device[0].name='br-lan'
network.@device[0].type='bridge'
network.@device[0].ports='eth0.1' 'ztukuv4qeb'
network.@device[0].ipv6='0'
network.lan=interface
network.lan.device='br-lan'
network.lan.proto='static'
network.lan.ipaddr='192.168.40.100'
network.lan.netmask='255.255.255.0'
network.lan.ip6assign='60'
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].ports='1 2 3 4 0t'
network.@rule[0]=rule
network.@rule[0].lookup='netflix'
network.@rule[0].mark='0x1'
network.@route[0]=route
network.@route[0].interface='lan'
network.@route[0].target='0.0.0.0/0'
network.@route[0].gateway='192.168.40.1'
network.@route[0].table='netflix'
root@OpenWrt:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 phy1-sta0
192.168.40.0    0.0.0.0         255.255.255.0   U     0      0        0 br-lan
192.168.40.0    0.0.0.0         255.255.255.0   U     0      0        0 ztukuv4qeb

Interfejs wifi 5g działa jako klient i jest podpięty pod wan

Wydaje taką komendę:

root@OpenWrt:~# ip route add default via 192.168
.1.1 dev phy1-sta0
root@OpenWrt:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 phy1-sta0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 phy1-sta0
192.168.40.0    0.0.0.0         255.255.255.0   U     0      0        0 br-lan
192.168.40.0    0.0.0.0         255.255.255.0   U     0      0        0 ztukuv4qeb

I internet wraca

6

Odp: Trasa domyślna przy stałym ip i zapis list ip w nftables

adresacja od zerotier ci włazi na lan.

Czemu masz trasę statyczną z innym gatewayem dla tablicy "netflix"?

Mam rozumieć że to sta które masz to właśnie jest wan na statycznym adresie?

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

7 (edytowany przez Damiano 2023-10-30 19:54:29)

Odp: Trasa domyślna przy stałym ip i zapis list ip w nftables

Tak ten sta to wan, na dhcp wszystko działa a na statycznym nie ma trasy domyślnej.
ZeroTier widzę że włazi ale interfejs zerotier jest zmostkowany z br-lan (musi tak być, w innej lokalizacji jest drugi router z zerotier). Ta tablica netflix jest po to żeby kierować ruch do pewnych adresów ip przez ten drugi router. Problem z trasą domyślną pojawił się jeszcze przed dodaniem tablicy netflix.
Po dodaniu trasy poleceniem ip route add internet wraca ale do restartu routera. Mógłbym w sumie dodać regułę przez luci tylko pytanie czemu sama nie wskakuje, co jest przyczyną.

8

Odp: Trasa domyślna przy stałym ip i zapis list ip w nftables

Zakomentuj na chwilę zerotier i jego udział w bridge, zakometuj tą trasę statyczną, zestartuj router z samym sta na statycznym adresie. I zobacz co będzie.

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

9

Odp: Trasa domyślna przy stałym ip i zapis list ip w nftables

To samo:

root@OpenWrt:~# uci show network
network.loopback=interface
network.loopback.device='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.globals.ula_prefix='fd13:deae:3ddf::/48'
network.wan=interface
network.wan.proto='static'
network.wan.ipaddr='192.168.1.5/24'
network.wan.gateway='192.168.1.1'
network.wan.dns='192.168.1.1'
network.@device[0]=device
network.@device[0].name='br-lan'
network.@device[0].type='bridge'
network.@device[0].ports='eth0.1'
network.@device[0].ipv6='0'
network.lan=interface
network.lan.device='br-lan'
network.lan.proto='static'
network.lan.ipaddr='192.168.40.100'
network.lan.netmask='255.255.255.0'
network.lan.ip6assign='60'
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].ports='1 2 3 4 0t'
root@OpenWrt:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 phy1-sta0
192.168.40.0    0.0.0.0         255.255.255.0   U     0      0        0 br-lan

Usługa zerotier wyłączona całkiem.
Tak jakby brama domyślna ustawiona statycznie w ogóle nie była brana pod uwagę.

10

Odp: Trasa domyślna przy stałym ip i zapis list ip w nftables

a weź do tego wana wpisz

 option device 'phy1-sta0'

oraz oczywiście trasę domyślną i dns

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

11 (edytowany przez Damiano 2023-10-30 23:48:52)

Odp: Trasa domyślna przy stałym ip i zapis list ip w nftables

Zadziałało w ten sposób ale co w przypadku gdy zrobię również AP na tym interfejsie?
Czytałem że to w konfiguracji wifi powinno się wybierać interfejs do którego ma być ono przyłączone.
Znalazłem rozwiązanie, musiałem ustawić force_link na 0 w konfiguracji interfejsu wan.

12

Odp: Trasa domyślna przy stałym ip i zapis list ip w nftables

Jak zrobisz ap na tym to będziesz miał phy0-ap0 itd. Inny dodatkowy interfejs.

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

13

Odp: Trasa domyślna przy stałym ip i zapis list ip w nftables

W sumie tak, czyli tutaj mamy dwa rozwiązania problemu. Na drugim routerze Xiaomi R3G z OpenWrt 22.03 mam tylko wlan0 i wlan1 niezależnie czy jest ap czy sta więc tam chyba lepszy sposób z force link.

Jeśli chodzi o zapisywanie ip z nftables to zrobiłem prosty skrypt:

#!/bin/sh

nft list set inet fw4 netflix | grep -oE '((1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])' > /tmp/netflix.txt
if [ $? -eq 0 ]
then
    echo $EOF >> /tmp/netflix.txt
    cp -f /tmp/netflix.txt /etc/luci-uploads/netflix.txt
    rm /tmp/netflix.txt
fi

Skrypt dodany do crona.

W Network>Firewall>Ipsets ustawiona opcja Include File na /etc/luci-uploads/netflix.txt. Lista jest ładowana przy starcie OpenWrt, skrypt z crona co jakiś czas aktualizuje liste w tym pliku.