❗️Toto je původní verze internetového fóra ISPforum.cz do února 2020 bez možnosti registrace nových uživatelů. Aktivní verzi fóra naleznete na adrese https://telekomunikace.cz

any port?

Návody a problémy s konfigurací.
Uživatelský avatar
okoun
Příspěvky: 6980
Registrován: 16 years ago
antispam: Ano
Bydliště: Mordor

any port?

Příspěvekod okoun » 9 years ago

ahoj, potřebuji udělat přesměrování IP všech protokolů a všech portů až na port 21 v TCP, mám toto pravidlo ale myslím že není dobře: add action=dst-nat chain=dstnat comment=verejna_cloud dst-address=x.x.x.227 dst-port=!21 protocol=tcp to-addresses=x.x.x.10 mám pocit že toto pravidlo přesměruje jen TCP protokol bez portu 21 ale já potřebuji všechny protokoly, jak to zapsat?
Případně na co je ten ANY PORT?

Díky
0 x
Povoláním ISP není jen připojovat lidi k internetu, ale také jim dokázat vysvětlit, že bez pořádné investice do HW nelze udělat kvalitní přípojku a domácí síť...

Exter01
Příspěvky: 55
Registrován: 10 years ago
Bydliště: SK

Příspěvekod Exter01 » 9 years ago

okoun píše:ahoj, potřebuji udělat přesměrování IP všech protokolů a všech portů až na port 21 v TCP, mám toto pravidlo ale myslím že není dobře: add action=dst-nat chain=dstnat comment=verejna_cloud dst-address=x.x.x.227 dst-port=!21 protocol=tcp to-addresses=x.x.x.10 mám pocit že toto pravidlo přesměruje jen TCP protokol bez portu 21 ale já potřebuji všechny protokoly, jak to zapsat?
Případně na co je ten ANY PORT?

Díky


ak ti ma koncit ten 21 port na rb tak:
add action=accept chain=dstnat comment=verejna_cloud dst-address=x.x.x.227 dst-port=21 protocol=tcp

a nasledne presmerovanie vsetkych portov udp aj tcp na nejaku ip
add action=dst-nat chain=dstnat comment=verejna_cloud dst-address=x.x.x.227 dst-port=0-65535 protocol=tcp to-addresses=x.x.x.10 to-port=0-65535
add action=dst-nat chain=dstnat comment=verejna_cloud dst-address=x.x.x.227 dst-port=0-65535 protocol=udp to-addresses=x.x.x.10 to-port=0-65535
0 x

Uživatelský avatar
okoun
Příspěvky: 6980
Registrován: 16 years ago
antispam: Ano
Bydliště: Mordor

Příspěvekod okoun » 9 years ago

ne takhle ne, psal jsem že chci úplně všechny porty a úplně všechny protokoly krom portu 21 na protokolu TCP
0 x
Povoláním ISP není jen připojovat lidi k internetu, ale také jim dokázat vysvětlit, že bez pořádné investice do HW nelze udělat kvalitní přípojku a domácí síť...

mirek.k
Příspěvky: 796
Registrován: 17 years ago

Příspěvekod mirek.k » 9 years ago

No to bude asi nějaká chybka v základní myšlence.
Takto se už na Mikrotik nepůjde dostat.
Možná by to šlo řešit další IP adresou.
Jedna by sloužila pro správu a ten port 21.
Druhá by se celá přeposílala na požadovaný cíl. Nastavit obousměrně dst-nat i src-nat.
Mirek
0 x

Majklik
Příspěvky: 1949
Registrován: 14 years ago

Příspěvekod Majklik » 9 years ago

okoun píše:ahoj, potřebuji udělat přesměrování IP všech protokolů a všech portů až na port 21 v TCP, mám toto pravidlo ale myslím že není dobře: add action=dst-nat chain=dstnat comment=verejna_cloud dst-address=x.x.x.227 dst-port=!21 protocol=tcp to-addresses=x.x.x.10 mám pocit že toto pravidlo přesměruje jen TCP protokol bez portu 21 ale já potřebuji všechny protokoly, jak to zapsat?
Případně na co je ten ANY PORT?


Ano, dělá ti to, co jsi popsal. Stroje vždy dělají to, co jim řekneš a ne to, co chceš. :-)

Řešil bych dvěma pravidly (první obslouží vyjímku pro TCP/21 a druhé vše ostatní přesměruje přes dstnat):
add action=accept chain=dstnat dst-address=x.x.x.227 dst-port=21 protocol=tcp
add action=dst-nat chain=dstnat comment=verejna_cloud dst-address=x.x.x.227 to-addresses=x.x.x.10

ANYPORT je match pravidlo, které se vztahuje na zdrojový i cílový port, takže anyport=21 m8 v7ynam src-port=21 nebo dst=port=21.
0 x

Uživatelský avatar
hapi
Příspěvky: 12989
Registrován: 18 years ago

Příspěvekod hapi » 9 years ago

podle mě to má dobře i s jednim pravidlem ale asi zapoměl i na 20 port
0 x
Supermicro + Mikrotik = SuperTik
high speed routery podle požadavků

Majklik
Příspěvky: 1949
Registrován: 14 years ago

Příspěvekod Majklik » 9 years ago

Match část "dst-address=x.x.x.227 dst-port=!21 protocol=tcp" mu pochytá všechna TCP spojení, vyjma těch na port 21, takže to nechytne všechny ostatní protokoly. Port 20 možná řešit nemusí, pokud má povolen FTP helper v service ports, tak by si to měl asi odchytat správně (pokud není použito FTPS) a nemělo by už na FTP datové spojení ten dst-nat sahat. V nejhorším by ty datové spojení mohlo pomocí odchytit od přenatování předsunuté pravidlo "add action=accept chain=dstnat connection-type=ftp dst-address=x.x.x.227 ". A to pomíjím, že spojení od portu 20 mají vycházet z FTP serveru a ne na něj...
0 x

Uživatelský avatar
okoun
Příspěvky: 6980
Registrován: 16 years ago
antispam: Ano
Bydliště: Mordor

Příspěvekod okoun » 9 years ago

Majklik píše:
okoun píše:ahoj, potřebuji udělat přesměrování IP všech protokolů a všech portů až na port 21 v TCP, mám toto pravidlo ale myslím že není dobře: add action=dst-nat chain=dstnat comment=verejna_cloud dst-address=x.x.x.227 dst-port=!21 protocol=tcp to-addresses=x.x.x.10 mám pocit že toto pravidlo přesměruje jen TCP protokol bez portu 21 ale já potřebuji všechny protokoly, jak to zapsat?
Případně na co je ten ANY PORT?


Ano, dělá ti to, co jsi popsal. Stroje vždy dělají to, co jim řekneš a ne to, co chceš. :-)

Řešil bych dvěma pravidly (první obslouží vyjímku pro TCP/21 a druhé vše ostatní přesměruje přes dstnat):
add action=accept chain=dstnat dst-address=x.x.x.227 dst-port=21 protocol=tcp
add action=dst-nat chain=dstnat comment=verejna_cloud dst-address=x.x.x.227 to-addresses=x.x.x.10

ANYPORT je match pravidlo, které se vztahuje na zdrojový i cílový port, takže anyport=21 m8 v7ynam src-port=21 nebo dst=port=21.


tak tohle nechápu: add action=accept chain=dstnat dst-address=x.x.x.227 dst-port=21 protocol=tcp to je přeci povolení ne? já chtěl blokovat :) nebo překlep?
0 x
Povoláním ISP není jen připojovat lidi k internetu, ale také jim dokázat vysvětlit, že bez pořádné investice do HW nelze udělat kvalitní přípojku a domácí síť...

Majklik
Příspěvky: 1949
Registrován: 14 years ago

Příspěvekod Majklik » 9 years ago

To accept pravidlo říká, že se pro spojení na tcp/21 nemá uplatnit dstnat. Má se spojneí z pohledu NATu nechat jak je, čili spojení bude směrováno tam, kde je normálně ta IP x.x.x.227 (pokud je ta IP přímo na tom routeru bindnutá, tka se spojí na FTP na ten router). A další pravidlo vše ostatní pro IP x.x.x.227 udělá dstnat. Pokud to FTP chceš vysloveně blokovat, tak nejlépe ve filteru.
0 x

ludvik
Příspěvky: 4448
Registrován: 14 years ago

Příspěvekod ludvik » 9 years ago

Jsi si jistý, že není ACCEPT (a třeba také DROP) v mangle/nat minimálně "nedoporučovaný a v budoucnu možná odstraněný"?

Řekl bych, že je lepší ve všech ohledech přesměrovat všechny porty a výjimky pořešit ve filter tabulce. Řešení v NAT jen podporuje myšlenku, že NAT je nějaké neprůstřelné zabezpečení ...

Mimochodem zdaleka ne všechny protokoly mají porty ... tedy stačí buď dvě pravidla pro UDP a TCP zvlášť, nebo ani protokol ani port nespecifikovat v NAT vůbec.
0 x
Jelikož je zde zakázáno se negativně vyjadřovat k provozním záležitostem, tak se holt musím vyjádřit takto: nové fórum tak jak je připravováno považuji za cestu do pekel. Nepřehledný maglajz z toho bude. Do podpisu se mi pozitiva již nevejdou.

Majklik
Příspěvky: 1949
Registrován: 14 years ago

Příspěvekod Majklik » 9 years ago

Deprecated je snad jen DROP a ROS ho stejně nepodporuje v NAT/MANGLE (na rozdíl od iptables přímo v Linuchu).
Samozřejmě jdou ty pravidla pro NAT napsat i bez accept, třeba:
add action=dst-nat chain=dstnat dst-address=x.x.x.227 dst-port=!21 protocol=tcp to-addresses=x.x.x.10
add action=dst-nat chain=dstnat dst-address=x.x.x.227 protocol=!tcp to-addresses=x.x.x.10
Ale pokud je cílem pustit vše a FTP blokovat, tak je lepší/čiatější NATnou vše jedním pravidlem a ve filter forward to FTP zvenčí dropnout....
0 x