NGinx achter Mikrotik, krijg portforward niet aan het werk

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • mhaket
  • Registratie: Augustus 2006
  • Laatst online: 21-09 18:11
Ik wil graag op mijn home server Pingvin Share gaan draaien maar via cloudflare tunnel is de performance daarvan 'dramatisch'.

Nu wil ik deze service via Nginx reverse proxy rechtstreeks aan het internet hangen maar ik loop vast op de portforward in mijn Mikrotik router.

Ik heb via mijn DNS provider een DNS record aangemaakt voor het gewenste subdomein (pingvin.example.com) dat naar mijn thuis IP adres verwijst. In mijn router heb ik een NAT regel aangemaakt dat poort 443 moet doorsturen naar mijn internet NGinx server op 192.168.0.121. Router hangt aan modem van provider die in bridge-mode staat. Op Nginx heb ik een proxy host aangemaakt naar het interne adres van de pinvin-server op poort 3000.
Als ik nu via mijn mobiel netwerk naar pingvin.example.com ga dan krijg ik een timeout. In mijn mikrotik zie ik in de log op de NAT regel:
code:
1
pingvin dstnat: in:ether1-wan out:(unknown 0), connection-state:new src-mac 00:00:5e:00:xx:xx, proto TCP (SYN), 94.108.xxx.xxx:24411->94.110.xxx.xxx:443, len 64

Blijkbaar komt mijn request wel aan op de mikrotik router.

Op de Nginx server zie ik dat '/dat/logs/proxy-host-1_access.log' en '/daty/logs/proxy-host-1_error.log' leeg zijn (size 0) en blijven wat me het vermoeden geeft dat de NAT regel in de router niet functioneert zoals ik zou willen.

Hier onder mijn huidige mikrotik firewall configuratie:

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# dec/15/2024 14:24:05 by RouterOS 7.9.1
# software id = xxx-xxx
#
# model = RB2011iLS
# serial number = xxxxxxxxxxx
/ip firewall address-list
add address=192.168.0.0/24 list=LAN
add address=192.168.100.0/24 list=Wireguard1
add address=192.168.100.0/24 list=LAN
add address=home.example.com list="WAN IP"
add address=d1s31zyz7dcc2d.cloudfront.net list="fire os update"
add address=amzdigital-a.akamaihd.net list="fire os update"
add address=amzdigitaldownloads.edgesuite.net list="fire os update"
add address=softwareupdates.amazon.com list="fire os update"
add address=updates.amazon.com list="fire os update"
add address=192.168.0.60 list="Blocked users"
/ip firewall connection tracking
set udp-stream-timeout=5m udp-timeout=20s
/ip firewall filter
add action=drop chain=input connection-state=invalid
add action=drop chain=forward comment="Block access to internet" \
    out-interface=ether1-wan src-address-list="Blocked users"
add action=accept chain=input src-address-list=LAN
add action=accept chain=input comment="defconf: accept established,related" \
    connection-state=established,related
add action=accept chain=input comment="Accept ICMP" protocol=icmp
add action=accept chain=input comment="Allow SIP" dst-port=3865 protocol=tcp
add action=accept chain=input connection-type=sip
add action=accept chain=input comment=Wireguard dst-port=13231 in-interface=\
    ether1-wan protocol=udp
add action=drop chain=input
add action=reject chain=forward comment="Block FireOS updates https://www.aftv\
    news.com/how-to-block-software-updates-on-the-amazon-fire-tv-or-fire-tv-st\
    ick/#router" dst-address-list="fire os update" reject-with=\
    icmp-network-unreachable
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-state=established,related hw-offload=yes
add action=accept chain=forward connection-state=new src-address-list=LAN
add action=accept chain=forward comment="defconf: accept established,related" \
    connection-state=established,related
add action=drop chain=forward comment=\
    "defconf:  drop all from WAN not DSTNATed" connection-state=new \
    in-interface=ether1-wan
/ip firewall nat
add action=masquerade chain=srcnat comment="Hairpin NAT" dst-address=\
    192.168.0.0/24 src-address=192.168.0.0/24
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    out-interface=ether1-wan
add action=dst-nat chain=dstnat comment=SIP dst-port=5060 in-interface=\
    ether1-wan protocol=udp to-addresses=192.168.0.3 to-ports=5060
add action=dst-nat chain=dstnat dst-port=10000-10010 in-interface=ether1-wan \
    protocol=udp to-addresses=192.168.0.3
add action=dst-nat chain=dstnat comment=Nginx disabled=yes dst-port=80 \
    in-interface=ether1-wan log=yes log-prefix="pingvin (80)" protocol=tcp \
    to-addresses=192.168.0.122 to-ports=80
add action=dst-nat chain=dstnat dst-port=443 in-interface=ether1-wan log=yes \
    log-prefix=pingvin protocol=tcp to-addresses=192.168.0.122 to-ports=443
/ip firewall service-port
set sip disabled=yes

[ Voor 1% gewijzigd door mhaket op 15-12-2024 14:33 . Reden: Bridge-mode van provider modem toegevoegd ]

Beste antwoord (via rens-br op 16-12-2024 13:55)


  • mhaket
  • Registratie: Augustus 2006
  • Laatst online: 21-09 18:11
Ja maar ondertussen heb ik alles aan het werk gekregen door forward van nieuwe verbindingen toe te staan

Alle reacties


Acties:
  • 0 Henk 'm!

  • Jef61
  • Registratie: Mei 2010
  • Nu online
Kan het zijn dat er een firewall rule mist die een poort (3000) open zet van het DMZ vlan naar de server in het interne vlan?

[ Voor 3% gewijzigd door Jef61 op 15-12-2024 14:47 ]


Acties:
  • 0 Henk 'm!

  • mhaket
  • Registratie: Augustus 2006
  • Laatst online: 21-09 18:11
Ik gebruik geen VLANs in mijn opzet. Ik kom van buiten via poort 443, Nginx zou die moeten omzetten naar poort 3000 van de Pinvin-server.

Acties:
  • 0 Henk 'm!

  • canonball
  • Registratie: Juli 2004
  • Laatst online: 14:34
code:
1
2
3
add action=dst-nat chain=dstnat dst-port=443 in-interface=ether1-wan log=yes \
    log-prefix=pingvin protocol=tcp to-addresses=192.168.0.122 to-ports=443
/ip firewall service-port
je vertaalt hier vanuit het internet na jouw 192.168.0.122 addres, maar nog steeds na poort 443 zoals ik het interpreteer, mogelijk moet dat dan 3000 worden (al ken ik mikrotik niet, maar ergens moet dat poort 3000 worden)

Acties:
  • 0 Henk 'm!

  • mhaket
  • Registratie: Augustus 2006
  • Laatst online: 21-09 18:11
Die vertaling zou door Nginx gedaan moeten worden via reverse proxy. In mijn router verwijs ik door naar Nginx (192.168.0.122).

Acties:
  • 0 Henk 'm!

  • canonball
  • Registratie: Juli 2004
  • Laatst online: 14:34
mhaket schreef op zondag 15 december 2024 @ 15:06:
Die vertaling zou door Nginx gedaan moeten worden via reverse proxy. In mijn router verwijs ik door naar Nginx (192.168.0.122).
ah, had ik overheen gekeken.

Kun je dan een tcpdump/tshark op de rev proxy doen of het wel of niet binnenkomt. Als het goed binnenkomt zul je het niet in de error logg zien.

Acties:
  • 0 Henk 'm!

  • The Realone
  • Registratie: Januari 2005
  • Laatst online: 20-09 02:23
Er is een NAT regel, maar is er ook een firewall regel? En zie je de verbinding in de firewall logs als allowed?

Acties:
  • 0 Henk 'm!

  • mhaket
  • Registratie: Augustus 2006
  • Laatst online: 21-09 18:11
Ik heb nu een accept op port 443 toegevoegd maar die wordt niet getriggerd als ik naar pingvin.example.com ga, de Dest-NAT regel wel (zoals in de openingspost al staat).

Als ik de NAT regel weg haal, dan wordt de accept regel wel getriggerd maar krijg ik meteen een 'Connection Failed' in de browser ipv 'Çonnection Timed-out'.

[ Voor 32% gewijzigd door mhaket op 15-12-2024 17:23 ]


Acties:
  • 0 Henk 'm!

  • mhaket
  • Registratie: Augustus 2006
  • Laatst online: 21-09 18:11
Denk dat ik het gevonden heb:
code:
1
add action=drop chain=forward comment="defconf:  drop all from WAN not DSTNATed" connection-state=new in-interface=ether1-wan

Deze regel voorkomt dat er een nieuwe verbinding kan worden opgezet. Als ik hem disable, dan krijg ik wel gewoon verbinding.

Acties:
  • 0 Henk 'm!

  • jvanhambelgium
  • Registratie: April 2007
  • Laatst online: 21-09 23:06
Kan je bij IP-services ook eens de "WebFib" web-interface van je Mikrotik op TCP/80 en TCP/443 op "disable" zetten ?
Hoe manage je je Mikrotik ? SSH ? Winbox ?

Acties:
  • 0 Henk 'm!

  • mhaket
  • Registratie: Augustus 2006
  • Laatst online: 21-09 18:11
jvanhambelgium schreef op zondag 15 december 2024 @ 20:03:
Kan je bij IP-services ook eens de "WebFib" web-interface van je Mikrotik op TCP/80 en TCP/443 op "disable" zetten ?
Op 443 staat die sowieso al uit en op poort 80 staat hij wel aan.
Hoe manage je je Mikrotik ? SSH ? Winbox ?
Winbox

Acties:
  • 0 Henk 'm!

  • lier
  • Registratie: Januari 2004
  • Laatst online: 08:54

lier

MikroTik nerd

Gebruik je Hairpin NAT?

Eerst het probleem, dan de oplossing


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • mhaket
  • Registratie: Augustus 2006
  • Laatst online: 21-09 18:11
Ja maar ondertussen heb ik alles aan het werk gekregen door forward van nieuwe verbindingen toe te staan
Pagina: 1