Fyrir þá sem þurfa að útvega sjálfum sér, ástvinum sínum, aðgang að netþjónum sínum hvar sem er í heiminum í gegnum SSH/RDP/annað, lítið RTFM/spur.
Við þurfum að vera án VPN og annarra bjalla og flauta, úr hvaða tæki sem er við höndina.
Og svo að þú þurfir ekki að æfa of mikið með þjóninum.
Allt sem þú þarft fyrir þetta er
„Allt er á netinu,“ auðvitað (jafnvel á
Við munum æfa okkur í því að nota Fedora/CentOS sem dæmi, en það skiptir ekki máli.
Spurningin hentar bæði byrjendum og sérfræðingum í þessu efni, svo það verða athugasemdir, en þær verða styttri.
1. Þjónn
-
setja upp knock-server:
yum/dnf install knock-server
-
stilla það (til dæmis á ssh) - /etc/knockd.conf:
[options] UseSyslog interface = enp1s0f0 [SSHopen] sequence = 33333,22222,11111 seq_timeout = 5 tcpflags = syn start_command = iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT cmd_timeout = 3600 stop_command = iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT [SSHclose] sequence = 11111,22222,33333 seq_timeout = 5 tcpflags = syn command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
„Opnunarhlutinn“ er stilltur á að loka sjálfkrafa eftir 1 klst. Þú veist aldrei...
-
/etc/sysconfig/iptables:
... -A INPUT -p tcp -m state --state NEW -m tcp --dport 11111 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22222 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 33333 -j ACCEPT ...
-
áfram:
service iptables restart service knockd start
-
þú getur bætt RDP við sýndar Windows Server sem snýst inni (/etc/knockd.conf; skiptu um nafn viðmótsins eftir smekk þínum):
[RDPopen] sequence = 44444,33333,22222 seq_timeout = 5 tcpflags = syn start_command = iptables -t nat -A PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2 cmd_timeout = 3600 stop_command = iptables -t nat -D PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2 [RDPclose] sequence = 22222,33333,44444 seq_timeout = 5 tcpflags = syn command = iptables -t nat -D PREROUTING -s %IP% -i enp1s0f0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2
Við fylgjumst með öllum spyrnum okkar frá viðskiptavininum á þjóninum með skipuninni
iptables -S
.
2. Leiðbeiningar um hrífur
knockd.conf:
Mana inniheldur líka allt (en þetta er ónákvæmt), en knockd er frekar snjall vinur með skilaboð, svo þú þarft að vera mjög varkár.
- útgáfa
Í Fedora/CentOS geymslunum er nýjasta knockd í dag 0.63. Hver vill UDP - leitaðu að 0.70 pökkum. - tengi
Í sjálfgefna Fedora/CentOS stillingunni er þessi lína ekki. Bættu við með höndunum, annars virkar það ekki. - Tímamörk
Hér getur þú valið eftir smekk þínum. Nauðsynlegt er að viðskiptavinurinn hafi nægan tíma fyrir öll spyrnurnar - og hafnarskannabotinn mun bila (og 146% munu skanna). - byrja/stöðva/skipa.
Ef það er ein skipun, þá skipun, ef það eru tvær, þá start_command+stop_command.
Ef þú gerir mistök mun knockd þegja, en virkar ekki. - frumgerð
Fræðilega séð er hægt að nota UDP. Í reynd blandaði ég saman tcp og udp og viðskiptavinurinn frá ströndinni á Balí gat aðeins opnað hliðið í fimmta skiptið. Vegna þess að TCP kom þegar þörf var á, en UDP er ekki staðreynd. En þetta er aftur smekksatriði. - röð
Óbeina hrífan er sú að raðirnar ættu ekki að skerast... hvernig á að orða það...
Til dæmis, þetta:
open: 11111,22222,33333
close: 22222,11111,33333
Með sparki 11111 opna mun bíða eftir næsta sparki í 22222. Hins vegar, eftir þetta (22222) spark mun það byrja að virka nálægt og allt mun brotna. Þetta fer líka eftir seinkun viðskiptavinarins. Svona hlutir ©.
iptables
Ef í /etc/sysconfig/iptables er þetta:
*nat
:PREROUTING ACCEPT [0:0]
Það truflar okkur ekki, svo hér er það:
*filter
:INPUT ACCEPT [0:0]
...
-A INPUT -j REJECT --reject-with icmp-host-prohibited
Það truflar.
Þar sem knockd bætir reglum við enda INPUT keðjunnar, munum við fá höfnun.
Og að slökkva á þessari höfnun þýðir að opna bílinn fyrir öllum vindum.
Til þess að villast ekki í iptables hvað á að setja inn fyrir hvað (svona
- sjálfgefið á CentOS/Fedora fyrst reglunni („það sem ekki er bannað er leyfilegt“) verður skipt út fyrir hið gagnstæða,
- og við fjarlægjum síðustu regluna.
Niðurstaðan ætti að vera:
*filter
:INPUT DROP [0:0]
...
#-A INPUT -j REJECT --reject-with icmp-host-prohibited
Þú getur auðvitað gert REJECT í staðinn fyrir DROP, en með DROP verður lífið skemmtilegra fyrir vélmenni.
3. Viðskiptavinur
Þessi staður er áhugaverðastur (frá mínu sjónarhorni), þar sem þú þarft að vinna ekki aðeins frá hvaða strönd sem er, heldur einnig frá hvaða tæki sem er.
Í grundvallaratriðum eru nokkrir viðskiptavinir skráðir á
Þegar þú velur viðskiptavin þarftu að ganga úr skugga um að hann styðji seinkun á milli pakka. Já, það er munur á ströndum og 100 megabitar tryggja aldrei að pakkar berist í réttri röð á réttum tíma frá tilteknum stað.
Og já, þegar þú setur upp viðskiptavin þarftu að velja seinkunina sjálfur. Of mikið tímabil - vélmenni ráðast á, of lítið - viðskiptavinurinn mun ekki hafa tíma. Of mikil töf - viðskiptavinurinn kemst ekki í tæka tíð eða það verða árekstrar hálfvita (sjá „hrífur“), of lítil - pakkarnir týnast á internetinu.
Með timeout=5s, delay=100..500ms er algjörlega virkur valkostur
Windows
Sama hversu fyndið það hljómar, það er alveg léttvægt að Google sé skýran bankaviðskiptavin fyrir þennan vettvang. Þannig að CLI styður seinkun, TCP - og án boga.
Sem valkostur sem þú getur prófað
Linux
Hér er allt einfalt:
dnf install knock -y
knock -d <delay> <dst_ip> 11111 22222 33333
MacOS
Auðveldasta leiðin er að setja upp portið frá homebrew:
brew install knock
og teiknaðu nauðsynlegar lotuskrár fyrir skipanir eins og:
#!bin/sh
knock -d <delay> <dst_ip> 11111 22222 33333
IOS
Vinnuvalkostur er KnockOnD (ókeypis, úr verslun).
Android
„Knúið á hafnir“ Ekki auglýsingar, en það virkar bara. Og verktaki er mjög móttækilegur.
PS markdown á Habré, auðvitað, Guð blessi hann einhvern tíma...
UPD1: þökk sé
UPD2: Annar
Heimild: www.habr.com