1

(19 odpowiedzi, napisanych Oprogramowanie / Software)

To była jazda z tym przy pełnej izolacji stref ale dla potomnych napisze jak ktoś by szukał rozwiązania. Ntp mimo ze widzimy przez netstat -tunlp ze nasłuchuje na wszystkim obojętnie co sie da w:  uci set system.ntp.interface='lan' ma blokadę i nie odpowie jeśli nie zrobimy uci del system.ntp.interface (co na marginesie jest bez sensu bo nie ma "drugiej zapory" na samym ntp dla bezpieczeństwa ale tak jest) wtedy ntp opowiada na każdy interfejs. Ale to nie koniec mogą sie zdarzyć grzeczne urządzenia które słuchają dhcp 42, 192.168.1.1 (to samo tyczy sie dns) lub używają adresu bramy dlatego aby uniknąć pętli trzeba dodać taka regułę:

cat <<EOF > /usr/share/nftables.d/chain-post/dstnat/10-global-nat.nft
iifname { "br-lan", "phy0-ap*", "phy1-ap*" } ip daddr != 192.168.0.0/16 udp dport 53 counter dnat ip to 192.168.1.1:53
iifname { "br-lan", "phy0-ap*", "phy1-ap*" } ip daddr != 192.168.0.0/16 tcp dport 53 counter dnat ip to 192.168.1.1:53
iifname { "br-lan", "phy0-ap*", "phy1-ap*" } ip daddr != 192.168.0.0/16 udp dport 123 counter dnat ip to 192.168.1.1:123
EOF

oczywiście jeśli interfejsy mamy w tym zakresie i koniecznie musi być wszystko osobno z dwukropkiem port bo nie da sie zrobić tak dla optymalizacji iifname { "br-lan", "phy0-ap*", "phy1-ap*" } ip daddr != 192.168.0.0/16 udp dport { 53, 123 } counter dnat ip to 192.168.1.1 po czasie to też powoduje problemy już nie dochodziłem co mu nie gra z tym ale prawdopodobnie przez ten dwukropek i port na końcu dlatego lepiej to rozbić na 3 osobne jak podałem wyżej to jest jedyna opcja a ruch na porcie wan zablokować dla 123 tylko dla rutera i tylko na wyjście oczywiście nat z contract z stanowością firewalla ogranie powrót bez problemu. To tak w wielkim skrócie o wiele łatwiej i bezpieczniej by było gdyby można przypisać to nasłuchiwanie i opowiedz na konkretny ip rutera lub lokalny 127.0.0.1 (jak jest w opnsense usługi wszystkie działają lokalnie na 127.0.0.1) wtedy zrobił bym mała dziurkę dla ntp do i z ruterza a tu takie blokady niespodziewane i zmuszanie do nasłuchanie na każdym interfejsie przy izolacji stref i rozbiciu na wiele ip/interfejsów podstawowej konfiguracji. A i wplatanie reguł przez nftables najlepiej robić w chain-post tak doszedłem do wniosku po dokumentacji bo będzie sprawiać najmniej problemów wink

2

(19 odpowiedzi, napisanych Oprogramowanie / Software)

znalazłem gdzie to wrzucić mam już na dzisiaj dość dokumentacji ale finalnie wyglądało by to tak

mkdir -p /usr/share/nftables.d/chain-pre/dstnat

cat <<EOF > /usr/share/nftables.d/chain-pre/dstnat/10-global-nat.nft
iifname { "br-lan", "phy0-ap*", "phy1-ap*" } udp dport 123 counter dnat ip to 192.168.1.1:123
iifname { "br-lan", "phy0-ap*", "phy1-ap*" } udp dport 53 counter dnat ip to 192.168.1.1:53
iifname { "br-lan", "phy0-ap*", "phy1-ap*" } tcp dport 53 counter dnat ip to 192.168.1.1:53
EOF

/etc/init.d/firewall restart

Bardzo proszę o sprawdzenie czy wszystko się zgadza i nie ominie mi to firewalla oraz jest bezpieczne

3

(19 odpowiedzi, napisanych Oprogramowanie / Software)

Niestety ograniczenia bezpieczeństwa UCI tego przeskoczyć nie pozwolą na to wychodzi.
Ale z drugiej strony powinny być takie rzeczy dostępne dla tych podstawowych portów jak 53,123 bo myślę ze wiele osób to robi i przekierowuje na ruter te porty jednak nie będę tracił na to dumanie czasu system takie ma ograniczenia ja tez rozbiłem br-lan tylko dla fizycznych portów, wiec po części to moja kombinacja ma na to wpływ, bo nie mam standardowo.

Ale do rzeczy
Czy to zadziała i wystarczy bo tu w nftables boje się 100% więcej o błąd niż w uci

iifname { "br-lan", "phy0-ap*", "phy1-ap*" } udp dport 123 counter dnat ip to 192.168.1.1:123

Sprawdziłem niby działa nie sprawdzałem jeszcze jak to wygląda od strony wan bo nie mam dzisiaj dostępu do skanowania Nmap z drugiego PC w innej sieci z tak samo publicznym IP. Chyba ze podłączę "między" drugi ruter i zacznę patrzeć na logi... ale mniejsza o to bo odchodzę od tematu.

Teraz jeszcze się zastanawiam jak to dodać na stałe do listy bez dotykania /etc/rc.local  lub /etc/config/firewall bo myślę ze tam nie ma sensu tego wklejać i to nie miejsce na to. Tylko lepiej było by wstrzyknąć to bezpośrednio do tabeli na stałe, dobrze myślę? Czy OpenWrt ma jakiś katalog lub sposób by wstrzyknąć to na starcie firewalla na stałe do tabeli?

4

(19 odpowiedzi, napisanych Oprogramowanie / Software)

ale właśnie tego chciałem uniknąć od początku i zoptymalizować wszystko do jednej reguły skoro jest tyle wspólnych mianowników a jest tylko jedna różnica w tej regule a im więcej reguł tym firewall zwalnia niestety

w opensense jest takie coś co nazywa się floating lub tworzysz grupę interfejsów lan (jako jeden interfejs ale cały czas separowany po za tym regułami i wspólnymi) i wtedy jedną regułą możesz określać takie rzeczy tylko dla wybranych lanów nie dość ze jest to szybsze bo jedna reguła to jeszcze bardziej czyste do zarzadzania

5

(19 odpowiedzi, napisanych Oprogramowanie / Software)

Niestety mam komunikat:
must not have source '*' for dnat target
- gwiazdka w rules działa, ale nie działa w redirect to sie tyle dowiedziałem w praktyce.
Teraz nie wiem jakie mam możliwości w uci chyba sie nie da inaczej zrobić tego jedna regułą?
List też nie da się zrobić by dodać do jednej reguły kilka uci add_list firewall.@redirect[-1].src=
Co mi pozostaje?

6

(19 odpowiedzi, napisanych Oprogramowanie / Software)

ok teraz rozumiem dziękuję za wiedzę czyli mogę jedynie dać jedną maskę (pisząc maskę mam na myśli /24 /23 /16/ 8 itd) podsieci w których sa moje lany (strefy) jak tu:
uci set firewall.@redirect[-1].src_ip='192.168.0.0/16' 
ale nie mogę używać spacji i kolejnych zakresów w tym samym

7

(19 odpowiedzi, napisanych Oprogramowanie / Software)

Poproszę wyjaśni co masz namyśli? bo zabrzmiało to jak ostrzeżenie lub jakieś dodatkowa wiedza która mi umyka.

Przecież chyba można dać nawet takie coś:
uci set firewall.@redirect[-1].src_ip='192.0.0.0/24 172.16.0.0/12 10.0.0.0/8'

i tak dalej czyli standardowe zakresy prywatne wedle RFC1918? i wydaje mi się ze powinno to być bezpieczne skoro przekierowuje ten ruch na adres rutera 192.168.1.1? i wycieku też się pozbędę skoro src='*' obejmuje wszystkie interfejsy w tym wan ale na wan sa inne zakresy adresów publiczne lub cgnat etc.? W zasadzie to chodzi o to ze nie można robić grup LAN i definiować jedną reguła wszystkich lanów a nieszczęsny src='*' z gwiazdką obejmuje też wan i dlatego wykombinowałem ze dodam klasę adresowa do ocięcia wan chyba dobrze myślę?

8

(19 odpowiedzi, napisanych Oprogramowanie / Software)

tak uprościłem to ale wiadomo o co chodzi efekt będzie ten sam nikt inny nie może mieć takich zakresów więc bezpieczeństwo tez zostało by zachowane

9

(19 odpowiedzi, napisanych Oprogramowanie / Software)

Czyli takie coś nie zadziała w uci? musze zejść do nftables tam to czarna magia całkiem dla mnie zero graficznego gui żeby to zrozumieć lepiej no nic trzeba sie uczyć dalej openwrt.

uci add firewall redirect
uci set firewall.@redirect[-1].name='Redirect-NTP-Global'
uci set firewall.@redirect[-1].src='*'     <- gwiazdka oznacza wszystkie interfejsy w tym wan dlatego
uci set firewall.@redirect[-1].src_ip='192.168.0.0/16'     <- zrobiłbym zakres grupy moich lanów
uci set firewall.@redirect[-1].src_dport='123'
uci set firewall.@redirect[-1].dest_ip='192.168.1.1'
uci set firewall.@redirect[-1].dest_port='123'
uci set firewall.@redirect[-1].proto='udp'
uci set firewall.@redirect[-1].target='DNAT'
uci commit firewall
/etc/init.d/firewall restart

myślałem ze tak globalnie jedną regułą przekieruje wszystkie lany na zegar ntp w ruterze

10

(19 odpowiedzi, napisanych Oprogramowanie / Software)

Ja specjalnie wszystko wyciągnąłem z br-lan aby mieć pełną izolacje na każdej warstwie każde urządzenie/klient jest w osobnym interfejsie z osobny zakresem i osobnej strefie na wifi/radiach też mam włączona izolacje aby w sterowniku zapewnić pełna izolacje już od L1 bo chce aby ruter zarazem był takim lepszym firewallem zarazem a nie domyślne jak jest wszystko w br-lan razem, Dziękuje za linka sprawdzę

11

(19 odpowiedzi, napisanych Oprogramowanie / Software)

Wiatm
Czy jest sposób aby w openwrt odwzorować dla czystości i szybkości firewalla (coś takiego jak jest w opnsense floating lub stworzenie grupy LANy) aby nie pisać kilku reguły DNAT dla portu 123 dla każdego interfejsu osobno co generuje kilkanaście takich samych reguł tylko napisać jedną regułę w której są wszystkie interfejsy lan oczywiście bez wan?

12

(13 odpowiedzi, napisanych Oprogramowanie / Software)

Kiedyś narzekali jak robiłem to trochę inaczej cronem co 24 godziny jak wspomniałem w pierwszej wiadomości wtedy próbowali mi przypisać IP po s/n PON ale im to nie wypaliło bo nie było zgodne z umową. Jak by ISP nie odwalał ze zmieniają szybkość starym użytkownikom wieczorami a nowym dają na początku super by nie uciekli w 14 dni do tego robią segregacje na  inne trasy etc to ja bym nie kombinował. Choć się domyślam ze pewnie profil na OLT mam lekko zmieniony od standardowego przez to ale nie jest to odczuwalne jak profilowanie ruchu po IP, mac, dhcp.

Wracając do pytania chyba żadnego błędu nie popełniłem logika skryptu będzie działać?

13

(13 odpowiedzi, napisanych Oprogramowanie / Software)

OK nie dotykam uci delete system.@system[0].hostname i przywrócę standardową nazwę.

Mam teraz takie pytanie zrobiłem skrypt bez crona zadziała to poprawnie?

cat << 'EOF' > /etc/config/simple_rotate.sh
#!/bin/sh
while :; do
    [ $(cat /proc/sys/net/netfilter/nf_conntrack_count) -gt 8 ] && sleep 1800 && continue
    NEW=$(printf '%X%X' $((RANDOM%16)) $((RANDOM%4*4)))$(hexdump -n5 -e '/1 ":%.2x"' /dev/urandom)
    uci set network.wan.macaddr="$NEW" && uci commit network && ifdown wan && sleep 5 && ifup wan
    sleep 79200
done
EOF
chmod +x /etc/config/simple_rotate.sh

na koniec dodam do /etc/rc.local
/etc/config/simple_rotate.sh &

i będę musiał jeszcze wyczuć odpowiednią wartość -gt 8

Mam nadzieje ze to usunie problem profilowania u mojego ISP i utrudni im różne ograniczania wedle profilu mojego ruchu oraz średnio co 24 godziny da mi nowy adres IP

Chciałem przenieść zachowanie podobne do MAC address randomization z wifi na wan bo wiem ze to pomaga w zachowaniu optymalnego łącza u mojego ISP

14

(13 odpowiedzi, napisanych Oprogramowanie / Software)

az mi wstyd ale napisze dla innych co było problemem sleep miedzy
ifdown wan && sleep 5 && ifup wan

teraz zrobiłem tak:
network.globals.ula_prefix=''
uci set network.globals.dhcp_default_duid=''
uci delete network.wan.clientid
uci delete network.wan.vendorid
uci set network.wan.hostname='*'
uci delete system.@system[0].hostname
w sumie nawet nie wiem czy to wszystko było potrzebne cos na pewno dołożyli do sprawdzania skoro przestał dziać skrypt... ale nie wiem czy konieczna była az taka lista jednak zostawię to chyba nic nie popsuje ze tyle robię?



ale teraz wystarczy (do testu robię ręcznie zmianę mac)
uci set network.wan.macaddr='bc:d3:c9:9f:55:99'
uci commit network
ifdown wan && sleep 5 && ifup wan <- i tu w tym sleep był problem nie dopisałem sleep no idiotyczny problem w ręcznym sprawdzaniu czy działa

Dzięki za pomoc wink

15

(13 odpowiedzi, napisanych Oprogramowanie / Software)

wystarczy ze zrobię jednorazowo tak:

uci set network.globals.ula_prefix=''
uci set network.globals.dhcp_default_duid=''
uci set network.wan.clientid=''
uci set network.wan.vendorid=''
uci set network.wan.hostname='*'
uci delete system.@system[0].hostname

i potem znów zacznie działać skrypt ifdown zmiana mac na losowy ifup wan a może masz namyśli żeby dołożyć Clientid na losowy i zmieniać razem w skrypcie cron?

Czy przekombinowałem? Niby proste a się wyłożyłem na tym jak ISP cos pozmieniało przepraszam za tak lamerskie pytanie.

Teraz jak zmieniam samo mac i podnoszę wan to wcale nie dostaje ip gdzie kiedyś działało.

@adreskontaktowy nie działa reboot nawet próbowałem odłączyć od zasilania i od razu podłączyć z powrotem, odłączyć kabel fizycznie i od razu podłączyć, czy pozostawić odłączony na 5 minut nic nie działa nie wiem właśnie czy nie dodali jakiś dodatkowych identyfikacji jak kiedyś nie wymagało hostname czy clientid etc.
Jednak skoro podłączenie każdego innego rutera daje od razu inny IP wiec nie ma tu mowy o blokadzie po S/N Gpon

16

(13 odpowiedzi, napisanych Oprogramowanie / Software)

To nie wystarczy nic nie wpisywać w clientid jak jest domyślnie lub wykasować te linijki jak pokazałem poleceniem wyżej uci delete network.wan.clientid ??? Openwrt działa teraz inaczej w tej nowej wersji ze nawet jak nic nie wpisane lub linie usunę to i tak wysyła???
Nie wiem czy lepiej robić losowe podszywanie się i uzupełniać zmieć wszystko za każdym razem, czy po prostu ustawiać to co się da aby nie wysłało nic i wtedy znów zadziała ifdown wan + prosta zmiana mac + ifup wan

a może chodzi tu jeszcze o te opcje DUID czy Prefiks ULA IPv6 ale to raczej tylko dla ipv6 używane nie trzeba tego ruszać? Albo jeszcze o czymś zapominam chce to przetestować konkretnie dlatego zbieram pomysły czy o niczym nie zapomniałem?

17

(13 odpowiedzi, napisanych Oprogramowanie / Software)

Witam

Kiedyś działało mi: zmiana mac z ponownym podniesieniem wan a teraz to nie wystarcza, jednak jak podłączę inny ruter dostaje inny adres od razu a więc nie mam blokady na ONT.

Zacząłem to analizować i mam taką listę poleceń, które biorę pod uwagę:

Czy stosować dalej skrypt do zmiany mac na losowy poleceniem + cron co 24h,
przykładowe polecenia:
uci set network.wan.macaddr='a1:b2:c3:d4:e5:f6'
oraz
ifdown wan
/etc/init.d/network restart
ifup wan

czy dołożyć do tego jeszcze wykonane raz
uci delete network.wan.clientid
uci delete network.wan.vendorid
uci set network.wan.hostname='*' - tu nie rozumiem czemu gwiazdka to znaczy ze wysyła gwiazdkę czy ze nic nie wysyła? wcześniej nie musiałem tego dotykać więc mam zagadkę z tą gwiazdka jak to działa?
a może po bandzie dodać jeszcze:
uci delete system.@system[0].hostname

Bo już nie wiem czy o czymś zapominam czy coś jeszcze powinien ukryć a może lepiej zamiast ukrywania całość zmieniać na losowe za każdym razem?

W ruterach to te eee czy flow control rx/tx tak potrzebne ze tylko przeszkadza i powoduje problemy, mam nadzieje ze nie będzie problemów z działaniem pozdrawiam wink i dzięki za pomoc

ale poprawili to? lub ethtool da się to wyłączyć bo ethtool tez bywa kapryśny i nie działa zawsze na każdym sterowniku tzn. nie ma wszystkich funkcji

Czytałem ze jakieś problemy były z i226-V dlatego wolałem dopytać dzięki za pomoc w takim razie kupuje i dam go miedzy ONT a flint2 który zostanie do samego wifi bo mi już mocy procesora brakuje w tym flint 2 a z tym intelem będę miał więcej możliwości wink

Mam pytanie czy ten sprzęt

https://www.amazon.pl/Firewall-Applianc … BQDNB?th=1

opis skrócony

4x LAN i226-V
Procesor Intel N150
Wersja najtańsza: 8Gb ddr5, 128Gb Nvme

Nadaje się na ruter pod OpenWRT i nie ma problemów ze sterownikami i tak dalej?

Dodałem taki prosty trick do uci-defaults przy tworzeniu obrazu

rm -f /etc/init.d/opoznienie

cat << 'EOF' > /etc/init.d/opoznienie
#!/bin/sh /etc/rc.common
START=00
USE_PROCD=1
start_service() {
    sleep 60
}
EOF

chmod +x /etc/init.d/opoznienie

/etc/init.d/opoznienie enable

i problem rozwiązany może ciut za długo to 60 sekund ale to sobie wyreguluje. Mam nadzieje ze składnia i wszystko co potrzebne do tego nowego procesu "opoznienie" jest w tym wystarczająca?
Dzięki za zaangażowanie wink

Dziękuję za zainteresowanie;)

Nie pomaga wan dow/up jedynie reboot dlatego sądzę ze się za szybko uruchamia w takim scenariuszu (gdy uruchamiam z prądu oba jednocześnie - zimny start) podejrzewam ze ONT musi mieć chwilę na połącznie i ustabilizowanie a dopiero po tym może wejść router.

Podejrzewam też ze to sterownik, jak szukałem i czytałem to w skrócie te chipy w ONT i routera się nie dogadują (i chyba to widać dalej jak za szybko startuje połączenie na obu) temat jest na Githubie niby rozwiązany ale chyba nie w takim scenariuszu zimnego startu a zamiast czekać wole coś już zaradzić do stabilności.

Mam taki problem ze router nie dogaduje się z ONT przy zimnym starcie (gdy razem są podłączane do prądu i startują równocześnie) cos jest nie tak z dogadaniem się PHY sterownika na zimnym starcie i tylko w tej sytuacji rosną mi dropy jak po tym równoczesnym uruchomieniu z prądu zrobię reboot rutera nie mam żadnych dropów stabilnie jak skała. Mam tez inne usługi jak adguard gdzie też był problem z za szybkim startem i tu zrobiłem prosty hotplug na wykrycie czy jest internet przez lekki nslookup + wan up/dow a nie tylko przez sam wan up/dow i nawet po awarii internetu itp. resetuje mi ładnie adguarda testowałem w każdym scenariuszu bardziej niezawodny sposób niż oryginalny triggers wykrywanie stanu wan i nie tylko na początku startu systemu. Ale chce dokładać też inne pakiety i pewnie temat z za szybkim uruchamianiem będzie powracał jak teraz wyszło mi w teście to dogadanie się z ONT przy zimnym starcie. Dlatego doszedłem do pomysłu zrobienia reboota ale jak bym tego nie robił to się zapętlało i nie uruchamiało tylko raz przy zimnym starcie. I tu mam inny pomysł opóźnienie startu całego systemu o te 60 sekund aby to zrobić myślałem o użyciu procd na wczesnym etapie START=01 lub nawet START=00 z funkcja sleep 60 czy tak osiągnął bym cel? i czy to dobry pomysł? A może jest inny lepszy sposób o którym nie wiem?

25

(2 odpowiedzi, napisanych Oprogramowanie / Software)

Bawiłem się tym i ustawiałem różnie to i każde ustawianie działa na dłuższą metę a wedle poradników jakie czytałem dotyczących Linuxa powinno to być ustawiane tak jak wyżej dla dodatkowego lepszego zabezpieczenia jądra dlatego pytam czy to stosować. Tu tez na marginesie dodam ze jedyne ustawianie jakie mi nie działa i powoduje problemy to zmiana rpfilter musi zostać wyłączone jak jest domyślnie obojętnie gdzie bym ustawiał (kierunku wysłanie/pobieranie) czy na jednym wan czy na jednym br-lan czy wszystko co w jest br-lan a wedle poradników powinno to się ustawiać właśnie na każdym który jest w br-lan i reszty nie ruszać jednak po czasie sprawia to dziwne problemy dlatego zostawiam rpfilter domyślnie wyłączony wszędzie. Tak tez zwątpiłem w te poradniki bo jak by nie było one dotyczą w większości przypadków serwerów nie ruterów Dziękuję bardzo za pomoc w zrozumieniu tematu