1

Temat: OpenWRT blokowanie push route

Witam

Routery openwrt mam skonfigurowane do pracy jako openvpn client.
Na serwerze openvpn mam dodaną opcję która ustawia trasy.
Dzięki czemu wszyscy klienci się widzą.

Czytałem w OpenVPN o czymś takim jak możliwość kontrolowania dostępu do sieci dla wybranych klientów, niestety próba wdrożenia tego rozwiązania zawiodła.

Dlatego myślę o tym aby zablokować dostęp do sieci za pomocą firewalla na routerze

O to przykładowana tablica routingu.

default    eth0.2 (WAN)    ubr-cab6.satfil    0
10.8.0.0/255.255.255.0    tun0    10.8.0.5    0
10.8.0.5    tun0    *    0
77.91.20.0/255.255.252.0    eth0.2 (WAN)    *    0
192.168.1.0/255.255.255.0    tun0    10.8.0.5    0
192.168.3.0/255.255.255.0    br-lan (LAN)    *    0
192.168.20.0/255.255.255.0    tun0    10.8.0.5    0


Chciałbym powiedzmy teraz zablokować ruch do puli adresu:

192.168.20.0/24
jak i chciałbym zablokować ruch do 10.8.0.0/24 za wyjątkiem bramy żeby wciąż urządzenia mogły się komunikować.


Jak powinny wyglądać wpis w firewallu ?
Probowalem zrobic wpis przez GUI blokujacy zakres IP.
Jednak on nie zadzialal, podejrzewam jednak że jest to kwestia tego że zablokował lecz tylko po komunikacji WAN nie po VPN

config restriction_rule 'rule_1'
        option is_ingress '0'
        option description 'blokowanie20'
        option local_addr '192.168.20.1-192.168.20.254'
        option enabled '1'

2

Odp: OpenWRT blokowanie push route

iptables -I FORWARD -p tcp -s 10.8.0.0/24 -d 192.168.20.0/24 -j DROP ?

Czy coś w ten desen?

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

3

Odp: OpenWRT blokowanie push route

Niestety iptables tu nic nie pomaga.

4

Odp: OpenWRT blokowanie push route

Ale w ogóle sprawdziłeś czy się pakiety łapią na to czy po prostu wprowadziłeś i napisałeś lakonicznie "nie działa"?

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

5

Odp: OpenWRT blokowanie push route

Wprowadziłem i sprawdziłem z sieci 192.168.3.0/24 bez problemowo nawiązałem połączenie ssh z ip 192.168.20.1
Mimo iż wprowadziłem taką regułkę jak wyżej.

6

Odp: OpenWRT blokowanie push route

Jeszcze raz: sprawdziłeś czy regułki się łapią na firewallu na to?

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

7

Odp: OpenWRT blokowanie push route

Co masz na myśli czy regułki się łapią ?
Ja pitole nie nawidzę iptables i mnie cholera strzela jak mam się z tym męczyć.

8

Odp: OpenWRT blokowanie push route

iptables -v -L
iptables -v -L -t nat i patrz liczniki po lewej stronie.

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

9

Odp: OpenWRT blokowanie push route

chyba odpuszczam bo nic się nie dzieje oprócz wylistowania reguł.
Chyba że mi polecisz dobry przewodnik po iptables ?

10

Odp: OpenWRT blokowanie push route

To właśnie wyświetla reguły. Po lewej stronie masz liczniki, przepuszczając ruch zwiększają się, w zależności gdzie się złapie pakiet.

Manual - LARC polecam (google do wyszukania po polsku)

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

11

Odp: OpenWRT blokowanie push route

LARTC

12

Odp: OpenWRT blokowanie push route

Taa, widać że przed lunchem jeszcze jestem.

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

13

Odp: OpenWRT blokowanie push route

Cezary napisał/a:

Taa, widać że przed lunchem jeszcze jestem.

Przed czym? U mnie to się chyba nazywa obiad...

14

Odp: OpenWRT blokowanie push route

U mnie nie. Obiad jest zaś późną popołudniową porą smile

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

15 (edytowany przez build000 2014-07-24 18:26:34)

Odp: OpenWRT blokowanie push route

jagrok napisał/a:

(...)
Czytałem w OpenVPN o czymś takim jak możliwość kontrolowania dostępu do sieci dla wybranych klientów, niestety próba wdrożenia tego rozwiązania zawiodła.
(...)

Widocznie coś robisz źle - bawiłem się ostatnio w coś takiego i poszło z palca z manuali na stronach openvpn. Jako dodatek znalazłem gdzieś w sieci opis i w praktyce sprawdziłem, ze blokada może być i stała, i czasowa, na określone adresy lub sieć/podsieć, czy nawet na próbę uruchomienia żądania do określonej usługi sieciowej - multum opcji. Widać musisz robić jakiś czeski błąd. Fakt - zajeło mi to ze 2 dni zanim wszystko ogarnąłem. Oczywiście za serwer openvpn musi robić jakaś konkretna maszyna - nie jakiś router czy inna maszynka, bo wtedy wszystko siada - za wolne urządzenia i za słabe. W moich zabawach rolę serwera openvpn robił dedyk z 32 GB RAM i całą masą rdzeni i herzt'ów, dyski SAS i SSD, i.t.d.... Za system dla serwera openvpn robił ubuntu-server w najnowszej odsłonie - pakiet openvpn zaś w najnowszej wersji z repo projektu openvpn instalowanej dla Debiana - wydaje mi się, że to zarówno kwestia wersji openvpn jak i posiadanej maszyny/systemu na której działa ów serwer openvpn. wink

16 (edytowany przez jagrok 2014-07-25 07:41:36)

Odp: OpenWRT blokowanie push route

Dzięki build000 za odpowiedź

Tak też stosuję, może nie na super wypasionej maszynie, ale na francuskim kebabie z najnowszym debianem.
Jednak na tym serwerze stoi tylko openVPN, mam do dyspozycji 4GB RAM i jeden dwurdzeniowy czterowątkowy procek Atom.
Klienci to serwery w oparciu o openwrt.

Moja wersja openvpn to 2.2.1

Za nim wdrożyłem docelową konfigurację przetestowałem wszystko za pomocą dostępnych komend.
Jednak w finalnej wersji po przydzielu odpowiednich IP niestety nie zadzialalo.
Co dziwne po powrocie do defaultowej już nie udało mi się ponownie tego zasymulować smile

### firewall.sh
    # Enabled Forwarding
    echo 1 > /proc/sys/net/ipv4/ip_forward
    # this will clear all rules from FORWARD
    iptables -F FORWARD 
    # set default policy to drop all packets. 
    # After executing this command, the clients 
    # shouldn't be able to reach each other anymore
    iptables -P FORWARD DROP 
    # allow all active connections to pass
    iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT 
    # Sysadmin rule - Administrator getting full acess
    iptables -A FORWARD -i tun0 -s 10.8.0.0/24 -d 10.8.1.0/24 -j ACCEPT
    iptables -A FORWARD -i tun0 -s 10.8.0.0/24 -d 10.8.2.0/24 -j ACCEPT
    iptables -A FORWARD -i tun0 -s 10.8.0.0/24 -d 10.8.3.0/24 -j ACCEPT
    iptables -A FORWARD -i tun0 -s 10.8.0.0/24 -d 10.9.1.0/24 -j ACCEPT
    # Clients rules
    iptables -A FORWARD -i tun0 -s 10.8.1.0/24 -d 10.9.1.0/24 -j ACCEPT
    # Clients rules
    iptables -A FORWARD -i tun0 -s 10.8.2.0/24 -d 10.8.3.0/24 -j ACCEPT
    # Specific clients access
    iptables -A FORWARD -i tun0 -s 10.8.3.5 -d 10.8.2.1 -j ACCEPT

17 (edytowany przez build000 2014-07-25 00:15:51)

Odp: OpenWRT blokowanie push route

Sam nie wiem - może dla pełnej jasności wklej config serwera openvp.
Poza tym w /etc/sysctl.conf wszystko prawidłowo ustawione ?

18 (edytowany przez jagrok 2014-07-25 07:44:59)

Odp: OpenWRT blokowanie push route

Dodałem linię w poprzednim poście i zmienilem regulki zeby pasowaly do konfigu na ktorym pracuje.Dodatkowo dopisalem linie która ustawia odpowiednio sysctl.

Poniżej conf openvpn.

A co do artykułów to:
http://backreference.org/2010/05/02/con … n-openvpn/
http://openvpn.net/index.php/open-sourc … tml#policy
I jeszcze chyba są dwa.

    port 1194
    proto udp
    dev tun

    ca ./keys/ca.crt
    cert ./keys/hub.crt
    key ./keys/hub.key  # This file should be kept secret
    dh ./keys/dh1024.pem

    server 10.8.0.0 255.255.255.0
    ifconfig-pool-persist ipp.txt

    ### ADD ROUTES FOR OTHER IP

    route 10.8.1.0 255.255.255.0
    route 10.8.2.0 255.255.255.0
    route 10.8.3.0 255.255.255.0
    route 10.9.1.0 255.255.255.0

    push "route 10.8.1.0 255.255.255.0"
    push "route 10.8.2.0 255.255.255.0"
    push "route 10.8.3.0 255.255.255.0"
    push "route 10.9.1.0 255.255.255.0"

    # IF YOU WANT TO DISABLE OPTION TO CONNECT CLIENT TO CLIENT JUST PUT A HASH
    # client-to-client
    # CLIENT USING THEIR OWN CONFIG DIRECTORY
    client-config-dir ccd

    keepalive 10 120
    comp-lzo
    max-clients 200
    persist-key
    persist-tun
    status openvpn-status.log
    log         openvpn.log
    log-append  openvpn.log
    verb 3
    mute 20
    management localhost 7505

Oczywiście do tego dochodza CCD

w których mam push adresów ip dla poszczególnych klientów.

19 (edytowany przez build000 2014-07-26 03:32:24)

Odp: OpenWRT blokowanie push route

Być może jestem w błędzie, ale bez tej (lub podobnej regułki) w /etc/openvpn/server.conf nie zapewnisz prawidłowego routingu dla wszystkich klientów w swoich czy innych sieciach, a co za tym idzie, skutecznego narzucania im różnych obostrzeń co do możliwych tras, adresów, usług, i.t.d.

push "redirect-gateway def1"

Poddaję to pod przemyślenie, czy oby na pewno w tej postaci oraz być może trzeba to skorygować przy złożoności iptables.
Nazwałbym tą opcję jako wyjściową.

20

Odp: OpenWRT blokowanie push route

Cezary napisał/a:

To właśnie wyświetla reguły. Po lewej stronie masz liczniki, przepuszczając ruch zwiększają się, w zależności gdzie się złapie pakiet.

Manual - LARC polecam (google do wyszukania po polsku)

Sprawdziłem jak sugerowałeś, w ogóle nie łapie się na tą regułkę

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination                                                                                                               
    0     0 DROP       tcp  --  any    any     10.8.0.0/24          192.168.20.0                                                                                                              /24

21

Odp: OpenWRT blokowanie push route

Ok, to jest rozwiązanie

iptables -I FORWARD -d 192.168.20.0/24 -j DROP

22 (edytowany przez jagrok 2014-07-27 22:31:58)

Odp: OpenWRT blokowanie push route

do usuniecia