Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: Jirka_V 13. 04. 2018, 08:32:30
-
Zdravim, jiz par dni resim doma orisek s forwardovanim portu na Mikrotiku, prolezl sem snad cele forum mikrotiku ale reseni jsem se nedopatral.
Nejprve popisu jak mam zapojeni site a pak popisu problem:
Aktualne mam VDSL modem Comtrend vr-3026e v bridge modu a Mikrotik se stara o vytaceni spojeni to funguje OK. Dale mam do mikrotiku zapojeny maly domaci server na ktery mam nasmerovany forwardovani ruznych portu a to funguje taky bez problemu, dostanu se na web, ftp a dedikovany herni server ktery me tam jede.
Problem ktery ale nemuzu vyresit je forwardovani portu pro SSH. V mem pripade mam pravidlo pro forwardovani 2222 z WAN na 22 na serveru. Mikrotiku jsem nastavit nasledujici NAT pravidla pro forwardovani ale porad me to zarezava spojeni. Samotny Service port 22 na Mikrotiku mam zmeneny z 22 na 222 takze by tam nemelo nic jineho na portu 22 poslouchat.
16 ;;; SSH Forwarding
chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=22
protocol=tcp dst-address=83.208.xxx.xxx in-interface=O2_VDSL
dst-port=2222 log=yes log-prefix="Putty"
17 chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=22
protocol=udp dst-address=83.208.xxx.xxx in-interface=O2_VDSL
dst-port=2222 log=yes log-prefix="Putty"
Predem dekuji za kazdou radu :)
-
ja to mam tak isto...nieco je zle ine...
mozno to udp pravidlo by som dal prec....
ja to mam takto
3 chain=dstnat action=dst-nat to-addresses=192.168.5.36 to-ports=22 protocol=tcp dst-address=xxx.xxx.xxx.xxx in-interface=ether1-gateway dst-port=2223 log=no
-
U Mikrotiku se mění jeho port SSH v IP/services a ne v pravidlech.
-
U Mikrotiku se mění jeho port SSH v IP/services a ne v pravidlech.
to ze ssh na mikrotik zmenil na 222 nema ziadny vplyv na ten portforward v pravidlach predsa ci nie?
-
V ROSu pod /ip/services je u SSH port na jakém poslouchá samotný Mikrotik pro spojení na něj přes SSH, ten nemá nic společného s port forwardem z vnějšku na vnitřní server. Jediný dopad je, že když si dám port SSH v ROSu na 2222 a zároveň budu dělat dstnat z vnějšku na server dovnitř, tak se z vnějšku nepůjde přes SSH na Mikrotik připojit, protože dstnat má přednost.
Pozor na jedno, pokud dělám pod /ip/firewall/nat dstnat <veřejnáIP>:2222 -> <vnitřníIP>:22, tak musím obvykle vedle NATu mít povoleno i pravidlem ve firewallu, pod /ip/firewall/filter navazovat z venku spojení na <vnitřníIP>:22 (prvně se vykoná dstnat a teprve pak vyhodnocují pravidla pod filtrování a v základu bývá navazování spojení z vnějšku dovnitř blokováno).
-
drunkez: Puvodne jsem mel jen tcp kamarad me poradil at zkusim pridat i udp pravidlo ale to taky nezabralo.
mac0112: To vim tam mam nastaveny aby mikrotik mel ssh na posrtu 222. Problem ktery ted resim je ten ze potrebuji abych se z WAN dostal prez SSH na server ktery je za Mikrotikem.
EDIT:
M.: Aha tak to me nenapadlo zkusim dohledat jak koretne nastavit pravidlo pro povoleni spojeni z WAN do LAN.
Postu jsem nastaveni pro Firewall a NAT jestli to nejak pomuze.
/ip firewall nat print
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; Masquerade for PPPoE
chain=srcnat action=masquerade out-interface=O2_VDSL log=yes log-prefix="masquerade"
1 chain=srcnat action=masquerade dst-address=192.168.88.125 log=no log-prefix=""
2 chain=srcnat action=masquerade dst-address=192.168.88.130 log=no log-prefix=""
3 ;;; Web FE
chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=80-99 protocol=tcp dst-address=83.208.XXX.XXX dst-port=80-99 log=yes log-prefix="web-fe"
4 chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=443 protocol=tcp dst-address=83.208.XXX.XXX dst-port=443 log=yes log-prefix="caddy"
5 ;;; TeamSpeak3 Server
chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=9987 protocol=udp dst-address=83.208.XXX.XXX dst-port=9987 log=no log-prefix=""
6 chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=30033 protocol=tcp dst-address=83.208.XXX.XXX dst-port=30033 log=no log-prefix=""
7 ;;; Terraria-Server
chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=7777 protocol=tcp dst-address=83.208.XXX.XXX dst-port=7777 log=no log-prefix=""
8 chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=7777 protocol=udp dst-address=83.208.XXX.XXX dst-port=7777 log=no log-prefix=""
9 ;;; NAS FTP
chain=dstnat action=dst-nat to-addresses=192.168.88.130 to-ports=21 protocol=tcp dst-address=83.208.XXX.XXX dst-port=21 log=no log-prefix=""
10 ;;; Server SSH
chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=22 protocol=tcp dst-address=83.208.XXX.XXX in-interface=O2_VDSL dst-port=2222 log=yes log-prefix="Putty"
11 chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=22 protocol=udp dst-address=83.208.XXX.XXX in-interface=O2_VDSL dst-port=2222 log=yes log-prefix="Putty"
12 ;;; Factorio Server
chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=34197 protocol=udp dst-address=83.208.XXX.XXX dst-port=34197 log=no log-prefix=""
/ip firewall filter print
Flags: X - disabled, I - invalid, D - dynamic
0 D ;;; special dummy rule to show fasttrack counters
chain=forward action=passthrough
1 ;;; defconf: fasttrack
chain=forward action=fasttrack-connection connection-state=established,related log=no log-prefix=""
2 ;;; defconf: accept established,related
chain=forward action=accept connection-state=established,related log=no log-prefix=""
3 ;;; defconf: drop invalid
chain=forward action=drop connection-state=invalid log=no log-prefix=""
4 ;;; defconf: drop all from WAN not DSTNATed
chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface=ether1 log=no log-prefix=""
5 chain=input action=accept protocol=icmp log=no log-prefix=""
6 chain=input action=accept connection-state=established log=no log-prefix=""
7 chain=input action=accept connection-state=related log=no log-prefix=""
8 chain=input action=drop in-interface=ether1 log=no log-prefix=""
9 ;;; drop ftp brute forcers
chain=input action=drop protocol=tcp src-address-list=ftp_blacklist dst-port=21
10 chain=output action=accept protocol=tcp content=530 Login incorrect dst-limit=1/1m,9,dst-address/1m
11 chain=output action=add-dst-to-address-list protocol=tcp address-list=ftp_blacklist address-list-timeout=3h content=530 Login incorrect
12 X ;;; drop ssh brute forcers
chain=input action=drop protocol=tcp src-address-list=ssh_blacklist dst-port=22 log=no log-prefix=""
13 X chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage3 address-list=ssh_blacklist address-list-timeout=1w3d dst-port=22 log=no log-prefix=""
14 X chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage2 address-list=ssh_stage3 address-list-timeout=1m dst-port=22 log=no log-prefix=""
15 X chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage1 address-list=ssh_stage2 address-list-timeout=1m dst-port=22 log=no log-prefix=""
16 X chain=input action=add-src-to-address-list connection-state=new protocol=tcp address-list=ssh_stage1 address-list-timeout=1m dst-port=22 log=no log-prefix=""
17 ;;; drop telnet brute forcers
chain=input action=drop protocol=tcp src-address-list=ssh_blacklist dst-port=23 log=no log-prefix=""
18 chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage3 address-list=ssh_blacklist address-list-timeout=1w3d dst-port=23
19 chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage2 address-list=ssh_stage3 address-list-timeout=1m dst-port=23
20 chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage1 address-list=ssh_stage2 address-list-timeout=1m dst-port=23
21 chain=input action=add-src-to-address-list connection-state=new protocol=tcp address-list=ssh_stage1 address-list-timeout=1m dst-port=23
VDSL Modem je pripojen do ether1
/interface print
Flags: D - dynamic, X - disabled, R - running, S - slave
# NAME TYPE ACTUAL-MTU L2MTU MAX-L2MTU
0 R ether1 ether 1500 1598 4074
1 RS ether2-master ether 1500 1598 4074
2 RS ether3 ether 1500 1598 4074
3 S ether4 ether 1500 1598 4074
4 S ether5 ether 1500 1598 4074
5 RS wlan1 wlan 1500 1600 2290
6 S wlan2 wlan 1500 1600 2290
7 R O2_VDSL pppoe-out 1480
8 R ;;; defconf
bridge bridge 1500 1598
-
Přestaň vymýšlet nesmysly a nastav ten port forward přesně stejně jako ty ostatní, které ti fungují.
-
Přestaň vymýšlet nesmysly a nastav ten port forward přesně stejně jako ty ostatní, které ti fungují.
I kdyz to mam nastavene stejne jako treba forwardovani portu 80 tak me to stejne nefunguje proto tady stim laboruju. Kdyby to melo tak jednoduche reseni tak se stim nelopotim uz 3 dny :)
V ROSu pod /ip/services je u SSH port na jakém poslouchá samotný Mikrotik pro spojení na něj přes SSH, ten nemá nic společného s port forwardem z vnějšku na vnitřní server. Jediný dopad je, že když si dám port SSH v ROSu na 2222 a zároveň budu dělat dstnat z vnějšku na server dovnitř, tak se z vnějšku nepůjde přes SSH na Mikrotik připojit, protože dstnat má přednost.
Pozor na jedno, pokud dělám pod /ip/firewall/nat dstnat <veřejnáIP>:2222 -> <vnitřníIP>:22, tak musím obvykle vedle NATu mít povoleno i pravidlem ve firewallu, pod /ip/firewall/filter navazovat z venku spojení na <vnitřníIP>:22 (prvně se vykoná dstnat a teprve pak vyhodnocují pravidla pod filtrování a v základu bývá navazování spojení z vnějšku dovnitř blokováno).
Myslim ze ty pravidla pro firewall nenastavuju tak jak bych mel mohl bys me poradit jak to ma vypadat korektne? V nastavovani firewallu jsem uplny zelenac takze poradne nevim co a jak.
-
Jestli se na to pak pokoušíš připojit z té sítě za tím samým routerem, nebude ti to fungovat kvůli toho in-interface
-
Jestli se na to pak pokoušíš připojit z té sítě za tím samým routerem, nebude ti to fungovat kvůli toho in-interface
Testuji te z jineho zarizeni ktere neni k LAN vubec pripojen takze opravdu to jde z venku. z PC v LAN se na IP 192.168.88.125:22 normalne pripojim.
-
skus implicitne povolit forward pre ssh...
-
skus implicitne povolit forward pre ssh...
Na to jsem take narazil a povolil jsem ho ale nepomohlo to. Aktualne mam nastaveni dstnat port forvart 2222->22 a mam v firewall nastaveny pravidla pro povoleni spojeni na portech 2222 a 22 ale bud mam spaatne ty pravidla nebo je jeste nekde jinde problme.
Taky nevim jestli tomu nevadi ze pouzivam PPPoE pripojeni (nejake specificke nastaveni) prostrednictvim toho o2 VDSL modemu ale pokud sem to spravne pochopil to by nato nemelo mit dopat pokud vsechno ostatni funguje OK.
-
Tohle pravidlo bude asi taky trochu zbytečné.
Pak bych ještě zkontroloval, jestli ses náhodou nedostal do toho address listu, který máš pro attackery
2 chain=srcnat action=masquerade dst-address=192.168.88.130 log=no log-prefix=""
-
Tohle pravidlo bude asi taky trochu zbytečné.
Pak bych ještě zkontroloval, jestli ses náhodou nedostal do toho address listu, který máš pro attackery
2 chain=srcnat action=masquerade dst-address=192.168.88.130 log=no log-prefix=""
Mam v siti 2 servery bez tech masquerade zaznamu nebylo mozne nane forwardovat zadne porty. 192.168.88.125 je ovsem jedinej na ktery se potrebuju dostat z venku prez SSH, 192.168.88.130 nanem jede jenom web a ftp a to funguje OK.
-
Nechce se mi vzhledem k jednoduchosti problému celou diskusi číst podrobně...
Jak psali jiní: Je třeba jedno pravidlo v NAT a nejspíše druhé ve firewallu (jako forward!). Jestli to nejede, tak si nejprve vyrobte v NAT pravidlo úplně navrchu(!) pro zvenku+TCP+2222+passthrough. Vlezte na nějaký webový port scanner (třeba http://www.t1shopper.com/tools/port-scan/ (http://www.t1shopper.com/tools/port-scan/)) a zkuste si adresa:2222 ošmrdlat. V NATovém pravidlu musí naskakovat provoz. Až to pojede a pravidlo opravíte, udělejte obdobné pravidlo ve firewallu (opět navrchu a forward!). Takhle to musíte najít.
Také se dá při scanování zvenku použít Torch na onom rozhraní PPP, ale už to není přímo test pravidel.
Je to tak jednoduché, že to vypadá, že jste spíš někde jen něco přehlédnul.
-
Je to jednoduché jako facka, jestli ti nefunguje toto:
add action=dst-nat chain=dstnat comment=\
"presmerovani SSH" disabled=yes \
in-interface=pppoe-out1 port=2222 protocol=tcp to-addresses=192.168.3.26 \
to-ports=22
tak je chyba někde jinde !
-
Tak problem vyresen vypadato ze jsem mel spatne nastaveny masquerade
mel jsem tam
0 ;;; Masquerade for PPPoE
chain=srcnat action=masquerade out-interface=O2_VDSL log=yes
log-prefix="masquerade"
1 chain=srcnat action=masquerade dst-address=192.168.88.125
log=no log-prefix=""
2 chain=srcnat action=masquerade dst-address=192.168.88.130
log=no log-prefix=""
ale melo tam byt
0 ;;; Masquerade for PPPoE
chain=srcnat action=masquerade out-interface=O2_VDSL log=yes
log-prefix="masquerade"
1 chain=srcnat action=masquerade dst-address=192.168.88.125
out-interface=O2_VDSL log=no log-prefix=""
2 chain=srcnat action=masquerade dst-address=192.168.88.130
out-interface=O2_VDSL log=no log-prefix=""
Mikrotik super zarizeni ale kdyz se clovek todle vsechno teprve uci je to pekelnej mucici nastroj ;D
-
Ahoj,
rychle jsem to prosel a mrknu na to detailneji pozdeji ale jedna vec me prastila do oci.
Pokud na eth1 je jen modem v rezimu bridge a wan je PPOE tedy interface O2_VDSL
pak si oprav toto pravidlo
4 ;;; defconf: drop all from WAN not DSTNATed
chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface=ether1 log=no log-prefix=""
4 ;;; defconf: drop all from WAN not DSTNATed
chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface=O2_VDSL log=no log-prefix=""
-
Jeste k FW
chain=input action=drop in-interface=O2_VDSL log=no log-prefix=""
Tohle pravidlo bude asi taky trochu zbytečné.
Pak bych ještě zkontroloval, jestli ses náhodou nedostal do toho address listu, který máš pro attackery
2 chain=srcnat action=masquerade dst-address=192.168.88.130 log=no log-prefix=""
Mam v siti 2 servery bez tech masquerade zaznamu nebylo mozne nane forwardovat zadne porty. 192.168.88.125 je ovsem jedinej na ktery se potrebuju dostat z venku prez SSH, 192.168.88.130 nanem jede jenom web a ftp a to funguje OK.
Proc by to bez tech 2 pravidel masquerade nefungovalo ?
-
Tak problem vyresen vypadato ze jsem mel spatne nastaveny masquerade
mel jsem tam
0 ;;; Masquerade for PPPoE
chain=srcnat action=masquerade out-interface=O2_VDSL log=yes
log-prefix="masquerade"
1 chain=srcnat action=masquerade dst-address=192.168.88.125
log=no log-prefix=""
2 chain=srcnat action=masquerade dst-address=192.168.88.130
log=no log-prefix=""
ale melo tam byt
0 ;;; Masquerade for PPPoE
chain=srcnat action=masquerade out-interface=O2_VDSL log=yes
log-prefix="masquerade"
1 chain=srcnat action=masquerade dst-address=192.168.88.125
out-interface=O2_VDSL log=no log-prefix=""
2 chain=srcnat action=masquerade dst-address=192.168.88.130
out-interface=O2_VDSL log=no log-prefix=""
Mikrotik super zarizeni ale kdyz se clovek todle vsechno teprve uci je to pekelnej mucici nastroj ;D
no neviem, ale mne tie pravidla nedavaju smyzel: maskujes zdrojovu adresu (src-nat), ak je cielova adresa lokalna (dst-address), ale odchadza cez wan interface (out-interface?
treba ti 2 maskarady: jednu src-nat, ktora bude skryvat lokalny trafik zo siete 192.168.88.0/24 (src-address) odchadzajuci cez wan rozhranie (out-interface) a drhuha bude dst-nat, ktora bude trafik prichadzajuci na wan rozhranie a dany port (in-interface a dst-port) preposielat na lokalnu ip servera (to-address, to-port)...
-
Ve vsech pripadech presmerovani jsi nedefinoval in-interface ale u SSH jsi tak ucinil.
Je to hodne zvlastni konfigurace delat NAT do WAN a zaroven napevno nastavit maskovani vnitrnich IP bez ohledu na interface.
Nemam si to ted na cem vyzkouset ale fakt me zajima jak se pri takove konfiguraci chova vnitrni logika routeru.
Standartni to urcite neni.
.......
9 ;;; NAS FTP
chain=dstnat action=dst-nat to-addresses=192.168.88.130 to-ports=21 protocol=tcp dst-address=83.208.XXX.XXX dst-port=21 log=no log-prefix=""
10 ;;; Server SSH
chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=22 protocol=tcp dst-address=83.208.XXX.XXX in-interface=O2_VDSL dst-port=2222 log=yes log-prefix="Putty"
11 chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=22 protocol=udp dst-address=83.208.XXX.XXX in-interface=O2_VDSL dst-port=2222 log=yes log-prefix="Putty"
.....
-
Ve vsech pripadech presmerovani jsi nedefinoval in-interface ale u SSH jsi tak ucinil.
Je to hodne zvlastni konfigurace delat NAT do WAN a zaroven napevno nastavit maskovani vnitrnich IP bez ohledu na interface.
Nemam si to ted na cem vyzkouset ale fakt me zajima jak se pri takove konfiguraci chova vnitrni logika routeru.
Standartni to urcite neni.
.......
9 ;;; NAS FTP
chain=dstnat action=dst-nat to-addresses=192.168.88.130 to-ports=21 protocol=tcp dst-address=83.208.XXX.XXX dst-port=21 log=no log-prefix=""
10 ;;; Server SSH
chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=22 protocol=tcp dst-address=83.208.XXX.XXX in-interface=O2_VDSL dst-port=2222 log=yes log-prefix="Putty"
11 chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=22 protocol=udp dst-address=83.208.XXX.XXX in-interface=O2_VDSL dst-port=2222 log=yes log-prefix="Putty"
.....
Jak by se to chovalo? Bezi tam linux s iptables, tak se to chova jako linux s iptables.
Co by te konkretne zajimalo?
-
Ve vsech pripadech presmerovani jsi nedefinoval in-interface ale u SSH jsi tak ucinil.
Je to hodne zvlastni konfigurace delat NAT do WAN a zaroven napevno nastavit maskovani vnitrnich IP bez ohledu na interface.
Nemam si to ted na cem vyzkouset ale fakt me zajima jak se pri takove konfiguraci chova vnitrni logika routeru.
Standartni to urcite neni.
.......
9 ;;; NAS FTP
chain=dstnat action=dst-nat to-addresses=192.168.88.130 to-ports=21 protocol=tcp dst-address=83.208.XXX.XXX dst-port=21 log=no log-prefix=""
10 ;;; Server SSH
chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=22 protocol=tcp dst-address=83.208.XXX.XXX in-interface=O2_VDSL dst-port=2222 log=yes log-prefix="Putty"
11 chain=dstnat action=dst-nat to-addresses=192.168.88.125 to-ports=22 protocol=udp dst-address=83.208.XXX.XXX in-interface=O2_VDSL dst-port=2222 log=yes log-prefix="Putty"
.....
Jak by se to chovalo? Bezi tam linux s iptables, tak se to chova jako linux s iptables.
Co by te konkretne zajimalo?
Momentalne uz nic :-)
Zajimalo me co bude napsano v logu a jak se to bude chovat.
Uz jsem mel moznost si to vyzkouset u sebe a kouknout se.
"
srcnat: in:(unknown 0)...
dstnat:...out:(unknown 0)
"
unknown 0 je dle informaci z mikrotik fora vyraz pro loopback.
-
Momentalne uz nic :-)
Zajimalo me co bude napsano v logu a jak se to bude chovat.
Uz jsem mel moznost si to vyzkouset u sebe a kouknout se.
"
srcnat: in:(unknown 0)...
dstnat:...out:(unknown 0)
"
unknown 0 je dle informaci z mikrotik fora vyraz pro loopback.
To pochybuji (ze unknown je loopback). To by to ta krabicka pekne prasila. Kdyz neni urcen interface, tak se pravidlo uplatni (pokud vse ostatni sedi), at uz provoz jde pres jakykoli interface.
-
...treba ti 2 maskarady: jednu src-nat, ktora bude skryvat lokalny trafik zo siete 192.168.88.0/24 (src-address) odchadzajuci cez wan rozhranie (out-interface) a drhuha bude dst-nat, ktora bude trafik prichadzajuci na wan rozhranie a dany port (in-interface a dst-port) preposielat na lokalnu ip servera (to-address, to-port)...
Masquerade je jen to první, to druhé je NA(P)T.