Konfigurationsproblem bei OpenWRT OpenVPN-Client

mein problem:
vor ein paar wochen hat die netzwerk-anbindung meines yun aus unerfindlichen gründen den geist aufgegeben. ich musste ihn komplett zurücksetzen, um überhaupt wieder connecten und werte senden zu können.
nach einigem gebastel (de saalänna dähd sahn: geknaube) habe ich wieder zugriff, wie ich mir das vorstelle (ssh/luci übers internet per ssh/in-vpn.de), befürchte aber, dass ich die firewall des yun zu weit aufgemacht habe.

meine bitte hier:
ich wäre dankbar, wenn die openwrt-kundigen hier nochmal über meine konfiguration drüber schauen könnten, welche regeln ich brauche, um es weiter zu machen zu können.
unten findet ihr die /etc/config/firewall. ihr braucht bestimmt mehr config-dateien, ich weiß aber nicht welche, daher: gebt bitte kurz bescheid und ich liefere die noch nach.

hintergrund:
da ich früher aus unwissenheit nur die generische luci-openvpn.conf gesichert habe, aber nicht meine funktionierende, musste ich sie in den letzten wochen wieder neu zusammenbasteln. dabei hab ich auch an der firewall-configuration rumgebastelt, die ist also auch nicht mehr die alte. Achtung also: die config-files in dem repo sind unter umständen nicht mehr aktuell, dienen nur noch der historischen referenz.
ich werde sie aktualisieren, sobald alles wieder rund läuft! (erledigt! 12.7.19)
in dem zusammenhang, vielleicht können sich ja einige hier erinnern: ich hab schon mal schlechte erfahrungen gemacht mit meiner selbstgebastelten yun-firewall, stichwort abmahnung durch das bsi im april 2017. da haben wir unter dem betreff “Re: mois-bienenwaage: nationales sicherheitsloch!” einige mails ausgetauscht. offener dns zum internet war das problem, @weef hat mir da entscheidend geholfen, vielen dank auch auf diesem weg nochmal, denn das thema hats nicht ins forum geschafft.

dns ist auch jetzt wieder offen:

:~$ nmap wbk.in-vpn.de
...    
Not shown: 997 closed ports
PORT    STATE SERVICE
53/tcp  open  domain
80/tcp  open  http
443/tcp open  https
Nmap done: 1 IP address (1 host up) scanned in 38.87 seconds

53 darf nicht offen sein, 80 muss nicht offen sein, 443 sollte offen sein und für ssh 2233.
wie habt ihr das damals zugemacht? es hat irgendwie mit der gruppierung von interfaces in den firewalleinstellungen zu tun gehabt. aber das alleine reicht nicht. ich kriegs nicht hin, ohne dass es entweder zu weit offen ist oder ich wieder die verbindung verliere…

hier also die firewalleinstellungen in luci. weiter unten gibts die /etc/config/firewall

/etc/config/firewall:

config defaults
    option syn_flood '1'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone
	option name 'lan'
	option output 'ACCEPT'
	option network 'lan'
	option input 'ACCEPT'
	option forward 'ACCEPT'

config zone
	option name 'wan'
	option output 'ACCEPT'
	option masq '1'
	option mtu_fix '1'
	option forward 'ACCEPT'
	option network 'vpn wan wan1 wwan'
	option input 'ACCEPT'

config forwarding
	option dest 'wan'
	option src 'lan'

config rule
	option target 'ACCEPT'
	option proto 'tcp'
	option dest_port '2233'
	option name 'ssh'
	option src '*'

setz doch mal in der zone ‘wan’ in der auch dein vpn ist input und forward auf reject oder drop statt accept.

das ist das default. d.h. die extra rule die fuer port 2232 tcp ist grade garnicht noetig gewesen.

sobald du allerdings den default aenderst sollte die aktiv sein und passen.
fuer http(80/443) klickst du dir genauso wie fuer 2232 jeweils ein accept und dann sollte alles so sein wie du wolltest.

gruss

/etc/config/firewall mit

config zone
     option name 'wan'
     option forward 'DROP' 
     option input 'DROP' 
    
config rule 
     option target 'ACCEPT' 
     option proto 'tcp' 
     list dest_port '2233' 
     list dest_port '443' 
     option name 'ssh' 
     option src '*'

mit /etc/init.d/firewall reload anschalten.

scheint zu funktionieren für 443 und schließt 53. ssh/2233 funktioniert nicht.
nmap sagt:

Not shown: 999 filtered ports
PORT    STATE SERVICE
443/tcp open  https
Nmap done: 1 IP address (1 host up) scanned in 6.65 seconds

nachtrag bzw. verweis nach weiter unten, um das hier als lösung markieren zu können:
es braucht auch noch ein häkchen beim entsprechenden dropbear-set, wo das ssh/2233 vereinbart wird: “Allow remote hosts to connect to local SSH forwarded ports”. in luci zu finden bei system/administration/ssh access.

Vielen Dank mal wieder!

PPS: Es scheint auch noch einen weiteren Lösungsweg zu geben.

1 Like

bloede frage… laeuft auf 2233 oder 443 auch ein service? im nmap oben taucht nur 443 auf

ich weiss nicht wie alt das openwrt ist (manche vendors sind nicht so HEAD) … kannst ja auch mal einzelne rules versuchen…

so in diesem stil:

config rule                  
        option name 'Allow-DHCP-Renew'
        option src 'wan'       
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'    
        option family 'ipv4'

nur halt mit tcp statt udp usw.

ja, die beiden auseinandernehmen. hab ich auch schon probiert eben. nicht besser.

das openwrt ist vier jahre alt, dürfte barrier braker (14.07) attitude ajustment sein (laut /etc/openwrt_release).

die port rules in der firewall waren schon o.k. aber: ein häkchen in luci/system/administration/ssh access (dropbear) brauchts noch dazu:

ah. da hab ich garnicht mehr dran gedacht. super wenns jetzt laeuft :)

by the way, noch für ping aufgemacht, damit der hardware-watchdog in der steckdose was zu tun hat:

config rule
    option target 'ACCEPT'
    option name 'ping'
    option src '*'
    option proto 'icmp'
    list icmp_type 'ping'

da spricht ja nichts gegen oder?

im gegenteil. ich hab das auch immer an.

dashier sind die default-rules aus einem stock mainline openwrt (nicht ganz frisch, sollte aber noch stimmen)

muss man ja nicht sofort kopieren, nur so zur inspiration was mainline da fuer ‘ok - wenn offen im default auf wan’ kategorisiert

ich weiss nicht ob ‘ping’ geht oder ob es ein ‘echo-request’ sein muss ;)

config rule
	option name 'Allow-DHCP-Renew'
	option src 'wan'
	option proto 'udp'
	option dest_port '68'
	option target 'ACCEPT'
	option family 'ipv4'

config rule
	option name 'Allow-Ping'
	option src 'wan'
	option proto 'icmp'
	option icmp_type 'echo-request'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-IGMP'
	option src 'wan'
	option proto 'igmp'
	option family 'ipv4'
	option target 'ACCEPT'

config rule
	option name 'Allow-DHCPv6'
	option src 'wan'
	option proto 'udp'
	option src_ip 'fc00::/6'
	option dest_ip 'fc00::/6'
	option dest_port '546'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-MLD'
	option src 'wan'
	option proto 'icmp'
	option src_ip 'fe80::/10'
	list icmp_type '130/0'
	list icmp_type '131/0'
	list icmp_type '132/0'
	list icmp_type '143/0'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Input'
	option src 'wan'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	list icmp_type 'router-solicitation'
	list icmp_type 'neighbour-solicitation'
	list icmp_type 'router-advertisement'
	list icmp_type 'neighbour-advertisement'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-ICMPv6-Forward'
	option src 'wan'
	option dest '*'
	option proto 'icmp'
	list icmp_type 'echo-request'
	list icmp_type 'echo-reply'
	list icmp_type 'destination-unreachable'
	list icmp_type 'packet-too-big'
	list icmp_type 'time-exceeded'
	list icmp_type 'bad-header'
	list icmp_type 'unknown-header-type'
	option limit '1000/sec'
	option family 'ipv6'
	option target 'ACCEPT'

config rule
	option name 'Allow-IPSec-ESP'
	option src 'wan'
	option dest 'lan'
	option proto 'esp'
	option target 'ACCEPT'

config rule
	option name 'Allow-ISAKMP'
	option src 'wan'
	option dest 'lan'
	option dest_port '500'
	option proto 'udp'
	option target 'ACCEPT'
1 Like

icmp_type 'ping' geht. ist offizieller type. und funktioniert auch.

1 Like

es scheint auch noch eine alternative lösung zu geben. hab auf dem openwrt-ding mit offenem dns-port 53 folgendes gemacht:

~# /etc/init.d/dnsmasq stop
~# nano /etc/dnsmasq.conf
----added lines----
listen-address=127.0.0.1, 172.31.255.254
bind-interfaces
----added lines end----
~# /etc/init.d/dnsmasq start

nmap von einem anderen rechner aus sagt:

~$ nmap 217.197.85.223
Starting Nmap 7.60 ( https://nmap.org ) at 2019-09-07 21:30 CEST
Nmap scan report for wbk.in-vpn.de (217.197.85.223)
Host is up (0.022s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https
Nmap done: 1 IP address (1 host up) scanned in 38.30 seconds
mois@weidenteich:~$

mit: #14951 (Configure dnsmasq to NOT be an open resolver) – OpenWrt