Wpis z mikrobloga

Mam #raspberrypi 3B+ do którego mam podłączony rj-45 z dostępem do Internetu. Chciałbym aby #rpi rozgłaszało swoją sieć WiFi, ale aby podłączeni użytkownicy mieli dostęp tylko do jednej subdomeny (np. test.wykop.pl). Internet będzie brany oczywiście z rj-45. Utworzyłem sieć WiFi za pomocą hostapd, ustawiłem dnsmasq - sieć Wifi się zgłasza, jest ok, nie ma dostępu do Internetu. Co powinienem teraz zrobić aby dać dostęp? Znalazłem, aby włączyć:
net.ipv4.ip_forward=1 (w /etc/sysctl.conf)
i:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
iptables-restore < /etc/iptables.ipv4.nat (dopisać do /etc/rc.local)

ale wtedy dostęp da do wszystkiego. Co zmodyfikować, aby ustawić określoną domenę (IP też od biedy by było, ale wolę domenę).
#linux #siecikomputerowe #raspbian #internet
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@loginek0: Nie ma czegoś takiego jak dostęp do domenie. Możesz jedynie ograniczyć dostęp do odpowiedniej puli adresów IP i do tych adresów ew. przypisac jakaś domene i nic więcej. Tylko licz się z tym, że teraz wszystkie przeglądarki chcą łączyć się domyślnie z HTTPS. A jak nie bedą miały dostępu do zweryfikowania domeny to Ci wywalą błąd certyfikatów.
  • Odpowiedz
@brokenik: no nie, bo gosc nie chce spoofować domen czy cokolwiek, tylko przepuścić jedną. w sumie jeszcze do tego co napisalem trzeba by dodać redirect dns w iptables:

iptables -t nat -A PREROUTING -i wlan0nazwainterfejsuwifi --dport 53 -j REDIRECT --to-ports 53
no i żeby było jasne, to dalej można obejść, ale już trzeba bardziej kombinować (np mieć vpn)
  • Odpowiedz
@rhqq: Nie nie mylę. HTTPS bez dostępu do internetu żeby sprawdzić ceryfikaty hostów z którymi się łączysz wywali błąd. Można to oczywiście pominać.
  • Odpowiedz
@brokenik: niby jak. CA masz lokalnie w przeglądarce, remote dostajesz od serwera z którym się łączysz. weryfikacja jest point-to-point. przynajmniej tyle było "zawsze". i jest to wystarczające.
  • Odpowiedz
@rhqq: A gdybym miał kilka adresów to dodaję je po / ? Czyli np.:
server=/test.vikop.pl/test2.vikop.pl/test3.vikop.pl/8.8.8.8
I https również powinno zadziałać z Twoim iptables?
  • Odpowiedz
via Wykop Mobilny (Android)
  • 1
@loginek0: jeden pod drugim dla czytelności, możesz też obciąć subdomenę i tylko mieć server=/vikop.rv/8.8.8.8
  • Odpowiedz
@rhqq: Wywala mi niestety:
iptables v1.6.0: unknown option "--dport"
Ale poszło tak:

sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 53 -j REDIRECT --to-ports 53
Nie wiem czy dobrze?
  • Odpowiedz
iptables -t nat -A PREROUTING -i wlan0 --dport 53 -j REDIRECT --to-ports 53


@loginek0: bez protokołówm a nie, źle. daj mi chwile

edit. faktycznie, z protokołami. to mam u siebie, ale zastanawiam się czy iptables 1.6 to wspiera teraz. jesli nie, to jak wrócę to
  • Odpowiedz
@rhqq: nie działa :( Działa tylko jak wykonam:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Ale to wtedy daje dostęp do all.

edit:
Jeżeli to ma znaczenie to łącze się po nie standardowym porcie (3000 - sockety). Ale zmiana --dport 3000 nic nie daje.
  • Odpowiedz
edit2:
Ostatecznie zrobiłem:

sudo iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 3000 -j MASQUERADE
I mam blokadę tylko na port - to wystarczy. Dzięki wszystkim!
  • Odpowiedz