Hej,
Chciałbym wykożystać swój router jako bramę do sieci zerotier do której jest podłączony.
Zerotier pochodzi z entware i jest bodaj w najnowszej dostępnej wersji 1.4.6 - czyli dobrej.
Połączenie z sieciami zerotier działa - z poziomu routera mogę pingać dowolną maszynę w sieci zerotier czyli połączenie jest w porządku.
Router jest oczywiście także bramą do internetu a przy okazji bramą do sieci VPN (selektywny routing tylko dla jednego urządzenia w podsieci).
Problem polega na tym że jakkolwiek bym ustawił iptables dla sieci Zerotier to wychodzi na to samo - komputery z lan nie mogą się połączyć z żadnym z komputerów z sieci Zerotier. Routing/przekierowanie po prostu nie działa.
Jeśli chodzi o szczegóły to domyślną bramą oczywiście jest vlan2 i tu oczywiście wszystko działa.
VPN tworzy tun11 i do niego przekierowywany jest ruch za pomocą routing policy.
Zerotier tworzy swój interface ztcostam ale jako że jest to entware - to nie ma do niego ładnego gui z możliwością ustawienia routing policy.
Regóły iptables ustawiłem wzorując się na tych ustawionych automatycznie przez OpenVPN dla tun11 tak że powinno być OK. Także lokacje w łańcuchu ustawiłem obok regół VPN - tak aby nie było możliwości że coś blokuje - bo skoro regóły VPN w tym miejscu łańcucha działają to i te od Zerotier powinny:
iptables -I FORWARD 1 -o ztklhynlkh -j ACCEPT
iptables -t nat -I POSTROUTING 1 -o ztklhynlkh -s 192.168.1.0/24 -d 192.168.193.0/24 -j MASQUERADE
iptables -t nat -I POSTROUTING 4 -o ztklhynlkh -s 192.168.1.0/24 -d 192.168.193.0/24 -j SNAT --to-source 192.168.193.1
Samo ustawienie powyższych regół nie powoduje wcale przekazywania pakietów z sieci 192.168.1.0/24 do 192.168.193.0/24.
Zgaduję, że trzeba jeszcze ustawić routing policy - problem polega na tym, że w gui tomato routing można ustawić tylko dla interfaceów w layer2 - a tu operujemy na layer 3, więc coś nie bardzo.
Czy ktoś mógłby pomóc mi ogarnąć ten bałagan?
Bardzo byłbym wdzięczny :)
Dzięki.
Połączony z 21 sierpnia 2020 17:49:12:
Dziwnie to wszystko działa.
Z głupia po paru godzinach puściłem pinga do jednego z kompów wewnątrz sieci zerotier i okazało się że przekierowanie działa.
Poeksperymentowałem i okazało się, że jedyna regóła której potrzebuję to:
iptables -t nat -I POSTROUTING 1 -o ztklhynlkh -d 192.168.193.0/24 -j MASQUERADE
Problem w tym, że router reaguje na zmiany w regółach z pewnym opóźnieniem. Poza tym nie można sobie po prostu puścić pinga i oczekiwać że nagle zacznie odpowiadać. Nigdy się nad tym nie zastanawiałem, ale wychodzi na to że ping nie nawiązuje nowego połączenia przy każdym pingu - przynajmniej nie jest to tak widziane przez iptables. W efekcie iptables nie stosuje nowych regół do połączeń już istniejących.
Jest to zresztą pewien problem z bezpieczeństwem. No bo jak jakiś haker się włamie i nawiąże połączenie to poza zwykłą regółą blokującą należy dodać też regółę dla połączeń już nawiązanych. Albo po prostu wyłączyć router.
Tak czy inaczej, teraz zostaje mi tylko zastanowić się gdzie dodać komendy uruchamiające Zerotier i dodające regóły do firewalla.
Edytowany przez amikot dnia 21-08-2020 17:49
ZTE MF286D - Stock Firmware (Vodafone UK)
ASUS TUF-AX3000 V2 - AsusWRT/FreshTomato 3.0.0.4.2023_4-gb6923ed
Acer Aspire E1-571 - OMV 6
|