Дазвол TCP 873 на інтэрфейсе тунеля не прапусціць rsync праз OpenVPN, і не прымусіць далёкі бок прыняць модуль. Тунель пераносіць унутранае злучэнне, правілы пратаколу і прызначэння якога застаюцца цалкам такімі, як былі. Таму першае пытанне — не які порт адкрыць, а якое злучэнне ўсталёўвае rsync. Усё ніжэй мяркуе, што тунель ужо падняты і сумнеў выклікае толькі ўнутраная служба.

Вызначце, якое злучэнне rsync усталёўвае насамрэч

Далёкі аргумент у камандзе звычайна адказвае на гэтае пытанне яшчэ да любой змены міжсеткавага экрана. Двойчы двукроп’е або схема URL выбіраюць дэман, а адзіночнае двукроп’е пасля імені хоста выбірае далёкую абалонку. Чытайце аргумент, які вы насамрэч запускаеце, а не той, што ў прыкладзе з дакументацыі.

Яўная опцыя далёкай абалонкі можа зноў змяніць адказ, бо яна кажа rsync, якую праграму запускаць для транспарту. Чытайце ўвесь радок каманды, уключаючы ўспадкаваныя скрыпты-абгорткі, а не толькі частку з хостам.

Remote argumentWhat it opens
rsync://vault.corp.internal/archive/rsync daemon, normally TCP 873
vault.corp.internal::archive/rsync daemon, normally TCP 873
[email protected]:/srv/archive/Remote shell, normally SSH on its configured port

Рэжым дэмана: адрас прывязкі, модуль і порт

У сінтаксісе дэмана сегмент шляху называе сканфігураваны модуль, а не каталог на дыску. Пароль модуля правяраецца толькі пасля прыняцця злучэння, а модуль можа дадаткова быць толькі для чытання або схаваным са спісу. Гэты парадак важны, калі вы чытаеце памылку, бо адхіленае злучэнне і адхілены модуль — збоі на двух розных этапах. Ні адно паведамленне нічога не кажа пра сам тунель.

Асобны дэман можна прывязаць да адраса тунеля ў яго файле канфігурацыі, што трымае яго па-за публічным інтэрфейсам без любога правіла міжсеткавага экрана. Значэнне павінна існаваць у момант прывязкі дэмана, а слухач, які актывуецца сокетам або кіруецца inetd, можа цалкам яго ігнараваць.

address = 10.44.0.1
port = 873
[archive]
    path = /srv/archive
    read only = yes

Затым праверце супраць прыватнага адраса, а не публічнага імені. Публічнае імя хоста рэзолвіцца ў адрас WAN і ідзе іншым шляхам, нават калі адна машына адказвае на абодвух.

rsync --list-only rsync://10.44.0.1/archive/

Рэжым далёкай абалонкі: SSH пераносіць перадачу

З адзіночным двукроп’ем rsync запускае праграму далёкай абалонкі і гаворыць яе пратаколам праз гэты канал, таму адзіная дасяжная служба — SSH на любым порце, які слухае сервер. Дэман rsync не запускаецца ніколі, порт 873 не мае значэння, і рашэнне пра доступ становіцца рашэннем пра ўліковы запіс SSH. Далёкі шлях тады — сапраўдны шлях файлавай сістэмы, які інтэрпрэтуе абалонка на тым баку. Вось чаму змена міжсеткавага экрана, накіраваная на 873, для гэтага рэжыму не робіць нічога.

Такі дызайн патрабуе аўтарызаванага ўліковага запісу і праверкі ключа хоста, і ён наследуе ўласную палітыку аўтэнтыфікацыі SSH. Гэта часта лепшы выбар, калі перадача павінна перасекчы недавераную сетку, бо шыфраванне належыць пратаколу, створанаму для гэтага. Дэман з запытам пароля — не тое самае.

Адкрыйце толькі абраны шлях

Калі рэжым вызначаны, дазвольце адзіную ўнутраную службу на адзіным інтэрфейсе, які пераносіць тунель. Абмяжуйце правіла па інтэрфейсе, пуле крыніц і адрасе прызначэння, каб пазнейшая змена адмовы па змаўчанні не пашырыла яго моўчкі. Пасля гэтага перагледзьце парадак правілаў, бо дазваляльнае правіла раней у ланцугу робіць вузкае правіла дэкаратыўным.

Калі дэман працуе на машыне за VPN-шлюзам, а не на самім шлюзе, шлюзу таксама патрэбен шлях перасылкі, а мэта — уласны дазвол і зваротны маршрут. Адкрыццё порта толькі на шлюзе дае злучэнне, якое прымаецца і потым нікуды не ідзе.

Праверце з кліента з тым жа рэжымам і прызначэннем, якія вы плануеце выкарыстоўваць у прадукцыі. Паспяховы спіс даказвае разам слухача, маршрут і правіла; тайм-аўт паказвае на шлях, а адмова — на слухача.

ufw allow in on tun0 from 10.44.0.0/24 to 10.44.0.1 port 873 proto tcp
ss -ltnp | grep 873

Падобныя артыкулы