❗️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

Forward

Návody a problémy s konfigurací.
marnov82
Příspěvky: 9
Registrován: 7 years ago

Forward

Příspěvekod marnov82 » 7 years ago

​Dobrý den,
můžete mi prosím poradit. Ve firewall pravidlech mám jako výchozí politiku na inputu, outputu i forwardu drop. Co pak potřebuji povolit, tak povolím. Jde mi o dst-nat, kde např. povolím přístup z venku přes port xxx1 na lokální port xxx2. Vše funguje, ale na jednom mikrotiku musím povolit i forward portu xxx2 na lokální IP a druhém mukrotiku stačí pouze dst-nat a forward už povolovat nemusím.
Moc děkuji
0 x

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

Příspěvekod ludvik » 7 years ago

Nějaký rozdíl v těch firewallech mít musíš. Máme hádat?
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.

marnov82
Příspěvky: 9
Registrován: 7 years ago

Příspěvekod marnov82 » 7 years ago

....no, asi mám, ale nevím jaký. Jinak bych se neptal :-)
0 x

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

Příspěvekod ludvik » 7 years ago

vlož sem export firewallu. v terminálu /ip firewall export
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.

marnov82
Příspěvky: 9
Registrován: 7 years ago

Příspěvekod marnov82 » 7 years ago

​/ip firewall layer7-protocol
add name=facebook regexp="^.+(facebook.com).*\$"
add name=youtube regexp="^.+(youtube.com).*\$"
add name=spotify regexp="^.+(spotify.com).*\$"
/ip firewall filter
add action=accept chain=input protocol=icmp
add action=accept chain=input connection-state=established,related
add action=accept chain=input in-interface=ether2
add action=accept chain=input dst-port=1723 in-interface=ether1 protocol=tcp
add action=accept chain=input dst-address=xxx src-address=xxx
add action=accept chain=input dst-address=xxx src-address=xxx
add action=drop chain=input
add action=accept chain=forward connection-state=established,related
add action=drop chain=forward layer7-protocol=facebook src-address=192.168.0.0/24
add action=drop chain=forward layer7-protocol=youtube src-address=192.168.0.0/24
add action=drop chain=forward layer7-protocol=spotify src-address=192.168.0.0/24
add action=accept chain=forward dst-port=80 protocol=tcp src-address=192.168.0.0/24
add action=accept chain=forward dst-address=xxx src-address=192.168.0.0/24
add action=accept chain=forward dst-port=5060 protocol=tcp src-address=192.168.0.0/24
add action=accept chain=forward dst-port=443 protocol=tcp src-address=192.168.0.0/24
add action=accept chain=forward dst-address=xxx dst-port=25 protocol=tcp src-address=192.168.0.0/24
add action=accept chain=forward dst-address=xxx dst-port=25 protocol=tcp src-address=192.168.0.0/24
add action=accept chain=forward dst-address=xxx dst-port=25 protocol=tcp src-address=192.168.0.0/24
add action=accept chain=forward dst-address=xxx dst-port=587 protocol=tcp src-address=192.168.0.0/24
add action=accept chain=forward dst-address=xxx dst-port=25 protocol=tcp src-address=192.168.0.0/24
add action=accept chain=forward dst-address=xxx dst-port=25 protocol=tcp src-address=192.168.0.0/24
add action=accept chain=forward dst-port=110 protocol=tcp src-address=192.168.0.0/24
add action=accept chain=forward dst-address=xxx dst-port=110 protocol=tcp src-address=192.168.0.0/24
add action=accept chain=forward dst-port=143 protocol=tcp src-address=192.168.0.0/24
add action=accept chain=forward dst-port=993 protocol=tcp src-address=192.168.0.0/24
add action=accept chain=forward dst-port=53 protocol=udp src-address=192.168.0.0/24
add action=accept chain=forward dst-port=123 protocol=udp src-address=192.168.0.0/24
add action=accept chain=forward dst-address=192.168.0.111 dst-port=22 protocol=tcp src-address=xxx
add action=accept chain=forward disabled=yes dst-address=192.168.0.111 dst-port=22 protocol=tcp src-address=xxx
add action=accept chain=forward dst-address=192.168.0.112 dst-port=1352 protocol=tcp src-address=xxx
add action=accept chain=forward dst-address=192.168.0.112 dst-port=3389 protocol=tcp src-address=xxx
add action=accept chain=forward dst-address=192.168.0.112 dst-port=3389 protocol=tcp src-address=xxx
add action=accept chain=forward dst-address=192.168.0.112 dst-port=3389 protocol=tcp src-address=xxx
add action=accept chain=forward dst-address=192.168.0.112 dst-port=1352 protocol=tcp src-address=xxx
add action=accept chain=forward dst-address=192.168.0.112 dst-port=1352 protocol=tcp src-address=xxx
add action=accept chain=forward dst-address=192.168.0.112 dst-port=1352 protocol=tcp src-address=xxx
add action=accept chain=forward dst-address=192.168.0.112 dst-port=1352 protocol=tcp src-address=xxx
add action=accept chain=forward dst-address=192.168.0.223 dst-port=3389 protocol=tcp
add action=accept chain=forward dst-address=192.168.0.223 dst-port=8080 protocol=tcp
add action=accept chain=forward dst-address=192.168.0.223 dst-port=2700-2710 protocol=tcp
add action=accept chain=forward dst-address=192.168.0.223 dst-port=19701 protocol=tcp
add action=accept chain=forward dst-address=192.168.0.223 dst-port=9877 protocol=tcp
add action=accept chain=forward dst-address=192.168.0.128 dst-port=3389 protocol=tcp
add action=accept chain=forward dst-address=192.168.0.148 dst-port=3389 protocol=tcp
add action=accept chain=forward dst-address=192.168.0.21 dst-port=3389 protocol=tcp
add action=accept chain=forward src-address=192.168.0.249
add action=accept chain=forward dst-address=192.168.0.249
add action=drop chain=forward connection-state=invalid
add action=drop chain=forward in-interface=ether1
add action=drop chain=forward in-interface=ether2
add action=accept chain=output
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
add action=dst-nat chain=dstnat dst-address=xxx dst-port=524 protocol=tcp src-address=xxx to-addresses=192.168.0.111 to-ports=22
add action=dst-nat chain=dstnat dst-address=xxx dst-port=524 protocol=tcp src-address=xxx to-addresses=192.168.0.111 to-ports=22
add action=dst-nat chain=dstnat dst-address=xxx dst-port=522 protocol=tcp src-address=xxx to-addresses=192.168.0.254 to-ports=22
add action=dst-nat chain=dstnat dst-address=xxx dst-port=522 protocol=tcp src-address=xxx to-addresses=192.168.0.254 to-ports=22
add action=dst-nat chain=dstnat disabled=yes dst-address=xxx dst-port=3142 protocol=tcp to-addresses=192.168.0.112 to-ports=3389
add action=dst-nat chain=dstnat dst-address=xxx dst-port=3142 protocol=tcp src-address=xxx to-addresses=192.168.0.112 to-ports=3389
add action=dst-nat chain=dstnat dst-address=xxx dst-port=3142 protocol=tcp src-address=xxx to-addresses=192.168.0.112 to-ports=3389
add action=dst-nat chain=dstnat dst-address=xxx dst-port=3142 protocol=tcp src-address=xxx to-addresses=192.168.0.112 to-ports=3389
add action=dst-nat chain=dstnat dst-address=xxx dst-port=1352 protocol=tcp src-address=xxx to-addresses=192.168.0.112 to-ports=1352
add action=dst-nat chain=dstnat dst-address=xxx dst-port=1352 protocol=tcp src-address=xxx to-addresses=192.168.0.112 to-ports=1352
add action=dst-nat chain=dstnat dst-address=xxx dst-port=1352 protocol=tcp src-address=xxx to-addresses=192.168.0.112 to-ports=1352
add action=dst-nat chain=dstnat dst-address=xxx dst-port=1352 protocol=tcp src-address=xxx to-addresses=192.168.0.112 to-ports=1352
add action=dst-nat chain=dstnat disabled=yes dst-address=xxx dst-port=3392 protocol=tcp to-addresses=192.168.0.223 to-ports=3389
add action=dst-nat chain=dstnat dst-address=xxx dst-port=8080 protocol=tcp to-addresses=192.168.0.223 to-ports=8080
add action=dst-nat chain=dstnat dst-address=xxx dst-port=2101-2110 protocol=tcp to-addresses=192.168.0.223 to-ports=2101-2110
add action=dst-nat chain=dstnat dst-address=xxx dst-port=9877 protocol=tcp to-addresses=192.168.0.223 to-ports=9877
add action=dst-nat chain=dstnat disabled=yes dst-address=xxx dst-port=3346 protocol=tcp to-addresses=192.168.0.128 to-ports=3389
add action=dst-nat chain=dstnat disabled=yes dst-address=xxx dst-port=3345 protocol=tcp to-addresses=192.168.0.148 to-ports=3389
add action=dst-nat chain=dstnat disabled=yes dst-address=xxx dst-port=3314 protocol=tcp to-addresses=192.168.0.21 to-ports=3389
0 x

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

Příspěvekod ludvik » 7 years ago

Takhle restriktivní politiku jsem už dlouho neviděl.

V principu ti dst-nat na to, aby se paket dostal zkrz forward nestačí. Někde tam musí být extra povolení. Buď doslova, v podstatě zopakování dst-nat (či povolení všeho například chybou konfigurace), nebo jako connection-state=dst-nat (nebo tak nějak, z hlavy nevím).

Z toho co jsi řekl a napsal tam nic takového potvrdit nemůžu. Kromě 192.168.0.249, kterou tam máš povolenou celou.

Na output též nemáš drop (nevím proč by to mělo být, ale tys to řekl).

Pokud chceš používat politiku drop na forwardu, už tam nepracuj s interfacem. Prostě to zakaž komplet. V současném stavu přidáš interface, na firewall zapomeneš ... a je to volné. Prostě si zaděláváš na chybu.

A nauč se používat address-list. Pomocí nich si ušetříš práci (např. tvoje pravidlo na port 25 by bylo jen jedno), konfigurace bude přehlednější a též výkonnější (i když v tomhle případě asi neměřitelně). Editace address-listu je také jednodušší, než kopírování pravidel a tím to též omezí možnost udělat chybu.
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.

marnov82
Příspěvky: 9
Registrován: 7 years ago

Příspěvekod marnov82 » 7 years ago

Schválně pošlu ještě pravidla z MK, kde mám povolen pouze dst-nat a forward už ne. Na tomhle, co jsem posílal, musím povolit i forward, jenom dst-nat nestačí. Předpokládám, že to má něco s connection-state, ale nemohu přijít na to co. Output mám u tohoto accept, protože pro tento KM není tak důležitý :-) Address list používám u MK, kde mám více subnetů, virtualá apd. tenhle je přeci jenom jednodušší.
0 x

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

Příspěvekod ludvik » 7 years ago

Tak proč jsi poslal jen ten, kde není problém?
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.

marnov82
Příspěvky: 9
Registrován: 7 years ago

Příspěvekod marnov82 » 7 years ago

....já právě nevím, kde je problém. Jestli tam kde forward musím dávat nebo tam kde ne. U této konfigurace forward nedávám

​/ip firewall filter
add action=accept chain=input comment=input_icmp protocol=icmp
add action=accept chain=input comment=est connection-state=established,related
add action=accept chain=input comment=input_winbox dst-port=8291 in-interface=\
ether1-wan protocol=tcp
add action=accept chain=input comment=vpn dst-port=1723 in-interface=ether1-wan \
protocol=tcp
add action=drop chain=input comment=other in-interface=ether1-wan
add action=accept chain=forward comment=forward_established connection-state=\
established,related
add action=accept chain=forward comment=forward src-address=192.168.0.0/24
add action=accept chain=forward comment=forward src-address=192.168.5.0/24
add action=accept chain=forward comment=forward src-address=192.168.10.0/24
add action=drop chain=forward comment=forward_drop_invalid connection-state=\
invalid
add action=drop chain=forward comment=forward_drop_eth1 in-interface=ether1-wan
add action=drop chain=forward comment=forward_drop_eth2 in-interface=bridge1
add action=accept chain=output comment=out
/ip firewall nat
add action=masquerade chain=srcnat comment="default configuration" \
out-interface=ether1-wan to-addresses=0.0.0.0
add action=dst-nat chain=dstnat comment=rdp dst-address=xxx \
dst-port=3310 protocol=tcp to-addresses=192.168.0.69 to-ports=3389
add action=dst-nat chain=dstnat comment=ssh_ftp_server dst-address=\
xxx dst-port=412 protocol=tcp to-addresses=192.168.0.209 \
to-ports=22
add action=dst-nat chain=dstnat comment=vnc_temp dst-address=xxx \
dst-port=5810 protocol=tcp to-addresses=192.168.0.209 to-ports=5900
add action=dst-nat chain=dstnat comment=ftp dst-address=xxx \
dst-port=21 protocol=tcp to-addresses=192.168.0.209 to-ports=21
add action=dst-nat chain=dstnat comment=ftp_1 dst-address=xxx \
dst-port=20 protocol=tcp to-addresses=192.168.0.209 to-ports=20
0 x

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

Příspěvekod ludvik » 7 years ago

Vzhledem k tomu, že je ten firewall logicky stejný, končí: add action=drop chain=forward in-interface=ether1-wan, tak se musí i stejně chovat.

Budeš tam mít jinou chybu. Napadá mě, že tam ten provoz jde z jiné sítě, než na ether1-wan nebo bridge1.

Co to je vůbec za úchylku nahrazovat IP adresy za XXX?
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.

marnov82
Příspěvky: 9
Registrován: 7 years ago

Příspěvekod marnov82 » 7 years ago

Provoz je zrovna u těchto dvou stejný, tj. eth1-wan, eth2-lan. Nahrazení XXX za IP je jenom mnou manuálně provedené, abych nezveřejňoval veřejné IP, žádnou úchylku v tom prosím nehledej.
0 x

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

Příspěvekod ludvik » 7 years ago

Přijde-li paket na ip adresu XXX a má cílový port 3310, je mu změněna cílová IP na 192.168.0.69 a cílový port na 3389.
Není-li to lokální IP, jde paket do chainu forward.
Je nový, čili se neuplatní pravidlo established, related.

Pokud nemá zdrojovou IP z uvedených třech 192.168. rozsahů, pokračuje test na invalid state. Což pravděpodobně též není, čili pokračuje dál.

Další pravidlo je drop všeho co přišlo na ether1-wan. A to se už uplatní, pokud odtamtud fakt paket přišel. Pokud ne, jde dál a je akceptovaný. Všechny ostatní pakety tohoto spojení jsou pak už established a jsou povoleny prvním pravidlem.

Z toho vyplývá: projde, pokud nepřijde na ether1 a bridge1. Projde, pokud pochází z 192.168.x. Nic jiného neprojde, ať už do dstnat napíšeš co chceš.
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.

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

Příspěvekod ludvik » 7 years ago

A už jsem zmínil. Pokud chceš na forwardu politiku DROP, musí být jako poslední řádek JEN A POUZE add action=drop chain=forward. Vše ostatní je jen selektivní ...
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.

marnov82
Příspěvky: 9
Registrován: 7 years ago

Příspěvekod marnov82 » 7 years ago

..nemohlo by to být toto, viz příloha
1.JPG
1.JPG (63.93 KiB) Zobrazeno 2283 x

0 x

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

Příspěvekod ludvik » 7 years ago

A to je zase z jakého mikrotiku? Pokud je to accept, tak ano, to povoluje spojení, které prošlo DST-NATem.

Jestli chceš poradit, dej všechny informace a pořádně. Nebo si sežeň někoho, kdo to dělá komerčně a může se ti věnovat celý den na místě. Budeš to mít za hodinu hotové.
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.