Toon posts:

OpenVPN config op ASUS: toegang tot LAN blokkeren

Pagina: 1
Acties:
Ik heb een OpenVPN server draaien vanaf m'n router (ASUS RT-AC87U, Merlin firmware) . Hier kan ik toegang tot mijn LAN mee krijgen. Ik wil nu echter ook mensen toegang geven tot internet vanaf mijn router, zonder toegang tot mijn LAN. De reden is eenvoudig: mijn IP is gewhitelist voor toegang tot een externe machine en wil mijn router als hub gebruiken.

De instellingen van de OpenVPN server geven me nog niet veel zicht op wat hiermee kan, behalve de optie 'publish lan to client' uit te zetten. Hiermee kun je echter nog steeds toegang tot de lan apparaten krijgen.

Iemand een idee of en hoe dit te configureren is? Ik gebruik 2 VPN servers op het moment, eentje die ik zelf gebruik mét toegang tot local lan en de tweede wil ik dus gebruiken om louter toegang door te geven. Op zich mag daar ook generiek internet overheen gaan, dat maakt niet uit, alleen geen LAN toegang dus.

Wat ik geprobeerd heb:

- de IP-reeks van de VPN server die lokaal wordt uitgereikt blacklisten werkt niet helaas. Ik vraag me ook af of VPN verkeer wel langs de firewall gaat.
- instellingen in de GUI geprobeerd, nog geen succes.

My prediction: we'll evolve into a digital form.


  • daxy
  • Registratie: Februari 2004
  • Laatst online: 18:09
Als je "Push LAN to Clients" uitzet, werkt het dan?
Als die uit staat, kan je eens je config.ovpn van de Asus afhalen met SSH?

De regel welke er in principe uit moet is: push "route 192.168.1.0 255.255.255.0 vpn_gateway 500"
Volgens mij moet het dan namelijk werken.

Ik zie overigens ook mensen die iptables gebruiken (bron):

I added the following to my firewall-start script:
iptables -I FORWARD -s 10.1.0.0/24 -d 192.168.1.0/24 -j DROP​

[Voor 33% gewijzigd door daxy op 07-09-2017 14:09]

Do not argue with a fool. He will drag you down to his level and beat you with experience.

daxy schreef op donderdag 7 september 2017 @ 14:06:
Als je "Push LAN to Clients" uitzet, werkt het dan?
Als die uit staat, kan je eens je config.ovpn van de Asus afhalen met SSH?

De regel welke er in principe uit moet is: push "route 192.168.1.0 255.255.255.0 vpn_gateway 500"
Volgens mij moet het dan namelijk werken.

Ik zie overigens ook mensen die iptables gebruiken (bron):

I added the following to my firewall-start script:
iptables -I FORWARD -s 10.1.0.0/24 -d 192.168.1.0/24 -j DROP​
Die regel 'push' zie ik niet inderdaad. iptables kan wel proberen, maar mooier is dan de reeds aanwezige firewall? Die lijkt alleen niets te doen met dit VPN verkeer. Of is IPtables de interne firewall?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Automatically generated configuration
daemon
topology subnet
server 10.16.0.0 255.255.255.0
proto tcp-server
port 1194
dev tun22
ncp-ciphers 
cipher 
comp-lzo adaptive
keepalive 15 60
verb 3
duplicate-cn
push "dhcp-option DNS 192.168.1.1"
push "redirect-gateway def1"
plugin /usr/lib/openvpn-plugin-auth-pam.so openvpn
verify-client-cert none
username-as-common-name
ca ca.crt
dh dh.pem
cert server.crt
key server.key
status-version 2
status status 10

# Custom Configuration


Sjonge, ben niet zo handig met SSH, maar tis gelukt :)

[Voor 41% gewijzigd door NiGeLaToR op 07-09-2017 15:21]

My prediction: we'll evolve into a digital form.


  • daxy
  • Registratie: Februari 2004
  • Laatst online: 18:09
iptables is inderdaad je firewall :)
Waarom het via de GUI niet werkt weet ik niet, maar dit zou moeten werken.

Let wel op, als je dit commando via SSH gedaan hebt, dan blijft het werken totdat je de Asus reboot.
Je moet dit even permanent maken door JFFS aan te zetten (Advanced Settings -> Administration -> System, en dan "Enable JFFS custom scripts and configs" op yes).
Vervolgens geef je deze 2 commando's (alles na "root@asus#" zegmaar):
code:
1
2
3
root@asus# echo '#!/bin/sh
iptables -I FORWARD -s 10.1.0.0/24 -d 192.168.1.0/24 -j DROP' > /jffs/scripts/firewall-start
root@asus# chmod +x /jffs/scripts/firewall-start


Let op, na /bin/sh komt een enter...

Dit zorgt ervoor dat de verandering permanent is :)

Do not argue with a fool. He will drag you down to his level and beat you with experience.

daxy schreef op donderdag 7 september 2017 @ 15:33:
iptables is inderdaad je firewall :)
Waarom het via de GUI niet werkt weet ik niet, maar dit zou moeten werken.

Let wel op, als je dit commando via SSH gedaan hebt, dan blijft het werken totdat je de Asus reboot.
Je moet dit even permanent maken door JFFS aan te zetten (Advanced Settings -> Administration -> System, en dan "Enable JFFS custom scripts and configs" op yes).
Vervolgens geef je deze 2 commando's (alles na "root@asus#" zegmaar):
code:
1
2
3
root@asus# echo '#!/bin/sh
iptables -I FORWARD -s 10.1.0.0/24 -d 192.168.1.0/24 -j DROP' > /jffs/scripts/firewall-start
root@asus# chmod +x /jffs/scripts/firewall-start


Let op, na /bin/sh komt een enter...

Dit zorgt ervoor dat de verandering permanent is :)
Botst dit niet met m'n bestaande JFFS configs? Ik heb namelijk al een boel scripts staan voor m'n interactieve TV en Vlans :+ Kan het dus ook gewoon toevoegen aan m'n bestaande firewall-start.

Overigens heb ik 2 VPN servers, maar ik drop alleen de pakketjes van de IP-range van de tweede server als ik het zo zie. Ziet er wel handzaam uit, thanks zover!

My prediction: we'll evolve into a digital form.


  • daxy
  • Registratie: Februari 2004
  • Laatst online: 18:09
Ah, ok. Ik dacht dat je nieuw was met SSH, Linux, shell op de Asus enzo :) Nee, in dat geval moet je het niet doen nee, maar gewoon toevoegen aan je huidige firewall-start script:
code:
1
echo 'iptables -I FORWARD -s 10.1.0.0/24 -d 192.168.1.0/24 -j DROP' >> /jffs/scripts/firewall-start


De dubbele >> zorgt ervoor dat de regel wordt toegevoegd. Een enkele > is inderdaad overschrijven :)

Do not argue with a fool. He will drag you down to his level and beat you with experience.

daxy schreef op donderdag 7 september 2017 @ 16:13:
Ah, ok. Ik dacht dat je nieuw was met SSH, Linux, shell op de Asus enzo :) Nee, in dat geval moet je het niet doen nee, maar gewoon toevoegen aan je huidige firewall-start script:
code:
1
echo 'iptables -I FORWARD -s 10.1.0.0/24 -d 192.168.1.0/24 -j DROP' >> /jffs/scripts/firewall-start


De dubbele >> zorgt ervoor dat de regel wordt toegevoegd. Een enkele > is inderdaad overschrijven :)
Ben zeker niet onbekend met SSH en de Asus, alleen tis niet iets wat ik dagelijks doe. Dus de opstarttijd is wat lang / de skills roestig.

Desalwelteplus is het gelukt en ga ik morgen testen of de packets inderdaad worden gedropt zoals bedoeld. Mijn dank is groot 8)

My prediction: we'll evolve into a digital form.

@daxy vanochtend even kunnen testen, maar het intern netwerk wordt nog steeds bereikt.

In de firewall-start staat nu:
code:
1
iptables -I FORWARD -s 10.16.0.0/24 -d 192.168.1.0/24 -j DROP


Het bestand heeft via CHMOD de 777 rechten, dus dat lijkt ook goed te gaan. Locatie is inderdaad /jffs/scripts/
Client IP is 10.16.0.2, dus dat lijkt me ook in de range, local IP-range is 192.168.1.x. Allemaal nog even gecheckt en lijkt goed te staan.

Waar zou het aan kunnen liggen c.q. wat zie ik over het hoofd? Ik kan niet makkelijk zien of het script wordt uitgevoerd volgens mij he?

My prediction: we'll evolve into a digital form.


  • daxy
  • Registratie: Februari 2004
  • Laatst online: 18:09
Hmm... het werkt gewoon bij mij (was spannend, ik had het nog niet geprobeerd namelijk :) ).

Het firewall-start script start gewoon de commando's die je opgeeft. Je kan dus zien of het gewerkt heeft als je de regel terugvind in de iptables tabel. Dit kan je zien met het commando "iptables -L FORWARD" (zie hier onder). Als de DROP regel er in staat, dan heeft de firewall-start goed gedraaid. Let op, deze draait pas tijdens het opstarten na een reboot...

Belangrijk om te testen zijn deze commando's:
- iptables -I FORWARD <argumenten> # Toevoegen van een firewall regel (in de FORWARD chain)
- iptables -L FORWARD # Bekijken van de firewall regels
- iptables -D FORWARD <argumenten> # Verwijderen van een firewall regel.

Mijn situatie:
VPN: interface tun21
IP VPN: 10.8.0.0/24
LAN IP: 192.168.1.0/24

Dit heb ik net getest en werkt goed bij mij:

admin@RT-AC87U-A6D8:/tmp/home/root# iptables -I FORWARD -s 10.8.0.0/24 -d 192.168.1.0/24 -j DROP
admin@RT-AC87U-A6D8:/tmp/home/root#
admin@RT-AC87U-A6D8:/tmp/home/root# iptables -L FORWARD
Chain FORWARD (policy DROP)
target     prot opt source               destination
DROP       all  --  10.8.0.0/24          192.168.1.0/24
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere             state INVALID
ACCEPT     all  --  anywhere             anywhere
NSFW       all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT
ACCEPT     all  --  anywhere             anywhere
admin@RT-AC87U-A6D8:/tmp/home/root# iptables -D FORWARD -s 10.8.0.0/24 -d 192.168.1.0/24 -j DROP
admin@RT-AC87U-A6D8:/tmp/home/root#
admin@RT-AC87U-A6D8:/tmp/home/root# iptables -L FORWARD
Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere             state INVALID
ACCEPT     all  --  anywhere             anywhere
NSFW       all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT
ACCEPT     all  --  anywhere             anywhere


Als ik mijn interne server ping, dan zie ik dat het standaard werkt, timeouts als de regel toegevoegd is en weer werken als ik de regel weg laat.

Als het nog niet werkt, kan je dan eens een "ifconfig" en een "iptables -L FORWARD" sturen?

Good luck!

Do not argue with a fool. He will drag you down to his level and beat you with experience.

@daxy je hebt gelijk: dit werkt!
Alleen, hij trapt de regel in m'n firewall-start script dus niet af. Ik moet nog even achterhalen waarom niet. Heb het nu via SSH met de hand gedaan en dat gaat goed, maar een reboot en tis weer weg.

My prediction: we'll evolve into a digital form.


  • daxy
  • Registratie: Februari 2004
  • Laatst online: 18:09
Dat is vreemd, het zou moeten werken.
Weet je zeker dat "Enable JFFS custom scripts and configs" aan staat in de GUI (Advanced Settings -> Administration -> System)?

Als die aan staat, kan je dit eens doen:

code:
1
2
ls -l /jffs/scripts/
cat /jffs/scripts/firewall-start

Even weglaten uit firewall-start wat je niet wilt delen uiteraard :)

Do not argue with a fool. He will drag you down to his level and beat you with experience.

code:
1
2
3
4
5
6
7
admin@RT-AC87U-0600:/tmp/home/root# ls -l /jffs/scripts/
-rwxrwxrwx    1 admin    root            62 Sep  7 20:47 firewall-start
-rwxr-xr-x    1 admin    root           231 Jan 25  2017 nat-start
-rwxr-xr-x    1 admin    root           903 Jan 25  2017 vlan4.script
-rwxr-xr-x    1 admin    root           647 Jan 31  2017 wan-start
admin@RT-AC87U-0600:/tmp/home/root# cat /jffs/scripts/firewall-start
iptables -I FORWARD -s 10.16.0.0/24 -d 192.168.1.0/24 -j DROP


Die andere scripts die zijn nodig voor IPtv, dus daar staat JFFS scripts al voor aan. Ik zie wel dat firewall-start andere rechten heeft.. maar het zijn er hooguit meer, lijkt me ook het probleem niet.
Overigens staart er dus in m'n firewall-start niets anders dan dit, ik had die nog niet in gebruik. De andere drie scripts wel.

My prediction: we'll evolve into a digital form.


  • daxy
  • Registratie: Februari 2004
  • Laatst online: 18:09
Kijk! Gevonden!

Het firewall-starat script heeft geen "#!/bin/sh" bovenaan. Daarom start de 2e regel niet.

Voer dit uit en je bent er helemaal klaar voor:
code:
1
2
3
root@asus# echo '#!/bin/sh
iptables -I FORWARD -s 10.16.0.0/24 -d 192.168.1.0/24 -j DROP' > /jffs/scripts/firewall-start
root@asus# chmod +x /jffs/scripts/firewall-start


Het gaat dus om de 1e regel, maar de 2e heb je nodig omdat het bestand overschreven gaat worden :)
Dit zou er dus moeten staan straks:
code:
1
2
3
4
admin@RT-AC87U-A6D8:/tmp/home/root# cat /jffs/scripts/firewall-start
#!/bin/sh
iptables -I FORWARD -s 10.16.0.0/24 -d 192.168.1.0/24 -j DROP
admin@RT-AC87U-A6D8:/tmp/home/root#

[Voor 20% gewijzigd door daxy op 08-09-2017 14:17]

Do not argue with a fool. He will drag you down to his level and beat you with experience.

Woohoo, ik had natuurlijk even kunnen vragen waarom die regel erboven stond.. maar nee.. 8)7

Wederom bedankt @daxy weer wat geleerd en een dingetje gefixed!

My prediction: we'll evolve into a digital form.

@daxy Ik heb nog een vraag ontwikkeld. Ik wil voor een beperkt aantal IP-adressen een portfoward aanmaken. Dit kan met de GUI niet, maar wel met IPtables.

Waar ik niet helemaal uit kom hoe ik dit regel: moet ik een portforward aanmaken in de GUI en dan een IP filter op IPtables. Of moet ik beiden aanmaken in IPtables?

Het idee is dat ik bijvoorbeeld de webserver toegankelijk maak voor een whitelist :)

My prediction: we'll evolve into a digital form.


  • daxy
  • Registratie: Februari 2004
  • Laatst online: 18:09
Volgens mij kon dit inderdaad niet via de GUI. Ik heb dit opgelost door de volgende regels toe te voegen aan /jffs/scripts/firewall-start script:
iptables -t nat -I VSERVER 1 -p tcp -m tcp -s 1.1.1.1 --dport 8080 -j DNAT --to 192.168.20.11:80
iptables -t nat -I VSERVER 2 -p tcp -m tcp -s 2.22.33.44 --dport 8080 -j DNAT --to 192.168.20.11:80
iptables -t nat -I VSERVER 3 -p tcp -m tcp -s 192.168.20.0/24 --dport 8080 -j DNAT --to 192.168.20.11:80
iptables -t nat -I VSERVER 4 -p tcp -m tcp -s 199.111.222.0/24 --dport 8080 -j DNAT --to 192.168.20.11:80

In dit geval mapped mijn extern IP poort 8080 naar interne IP 192.168.20.11 port 80 waarbij alleen verkeer van 1.1.1.1, 2.22.33.44, 192.168.20.0/24 en 199.111.222.0/24 toegestaan wordt.

PS, ik weet niet meer of 192.168.20.0/24 daadwerkelijk nodig was om het te laten werken. Ik denk het niet, maar just in case staat hij er wel even bij. Good luck :)

Do not argue with a fool. He will drag you down to his level and beat you with experience.

Thanks @daxy :)

My prediction: we'll evolve into a digital form.


  • Arnoldtwt
  • Registratie: Januari 2004
  • Laatst online: 23-01 21:38
Als ik nog even mag inhaken op dit topic is het ook mogelijk, om bijvoorbeeld via VPN een verbinding op te zetten en de clients die verbinding maken alleen maar verbinding te kunnen laten maken met de NAS, dat is dus één specifiek IP adres waarop ze toegang kunnen krijgen.

Is dit via de webskill te realiseren of moet ik dit met iptables doen en wat zijn de meest ideale instellingen, ik gebruik ook de aangepaste bestanden voor IPTV.

Soms is het meten, soms is het weten

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee