Как да

Изложете локалния сървър зад NAT на Интернет с помощта на FRP прокси

Изложете локалния сървър зад NAT на Интернет с помощта на FRP прокси

Обикновено е голямо предизвикателство за отрепки, които биха искали да имат достъп до локалния си сървър през интернет. Не се притеснявайте повече, ние ще проучим инструмент, който може да се използва за разкриване на вашия локален сървър и услуги зад защитна стена на NAT през интернет. В тази статия ще се научите да излагате локален сървър зад NAT или защитна стена на интернет с помощта на FRP прокси.

FRP прокси е обратен прокси, написан на Golang, който ви позволява да препращате порт на вашия локален сървър зад защитна стена или NAT към публичен сървър.

Понастоящем FRP проксито поддържа протоколи TCP, UDP, HTTP и HTTPS.

FRP архитектура

Нека разгледаме основните методи за конфигуриране на FRP прокси.

Преди да можете да настроите и стартирате тази настройка, имате нужда от следното:

  1. Локален сървър, който е зад защитна стена или NAT, напр.g вашия лаптоп.
  2. Отдалечен сървър с публичен IP, напр.g AWS EC2 екземпляр.

Инсталиране на FRP прокси

Нека да преминем към инсталационната част.

Стъпка 1 - Изтеглете и извлечете FRP

Изтеглете най-новата версия на FRP от тяхното хранилище на Github. Това трябва да бъде изтеглено на както местните и публичен сървър.

wget https: // github.com / fatedier / frp / releases / download / v0.34.1 / frp_0.34.1_linux_amd64.катран.gz

Извлечете изтегления пакет

tar -xvf frp_0.34.1_linux_amd64.катран.gz

Следните файлове са в извлечената директория:

$ cd frp _ * _ linux_amd64 $ ls frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE systemd 

На публичния сървър, frps и frps.ini файл са необходими.

Стъпка 2 - Настройка на публичен сървър

На публичния сървър трябва само да зададем bind_port под [често срещани] в frps.ini файл на 7000. Това е портът по подразбиране, можете също да определите свой собствен порт в зависимост от вашите предпочитания.

$ sudo vi frps.ini [общ] bind_port = 7000 

Стъпка 3 - Стартирайте FRP на публичен сървър

Трябва да стартираме услугата на публичния сървър, за да разрешим връзки от локалния сървър.

Използва се следната команда:

./ frps -c ./ frps.ini

Трябва да видите изход, който услугата слуша на посочения порт:

$ ./ frps -c ./ frps.ini 2020/11/07 11:17:36 [I] [услуга.go: 190] frps tcp слушам на 0.0.0.0: 7000 2020/11/07 11:17:36 [I] [root.go: 212] започнете frps успех

Стъпка 4 - Конфигурирайте FRP на локален сървър

След като FRP работи и работи на публичния сървър, следващата стъпка е да конфигурирате локалния сървър.

Например, до излагайте ssh на нашия локален сървър. Необходимите файлове на локалния сървър са frpc и frpc.ini.

Редактирайте frpc.ini файл и добавете следните подробности:

[често] server_addr =  server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 отдалечен_port = 6000

В горната конфигурация сме изложили порт 22 на нашия локален сървър към порт 6000 на публичния сървър.

Също така определихме протокола, който използваме, TCP.

Също така можем да изложим уеб услуга, работеща на вашия локален сървър в същата конфигурация. Можете да добавите подробности за уеб сървъра точно под ssh конфигурацията в frpc.ini файл.

В примера по-долу уеб сървърът работи на порт 80 на локалния сървър и ще бъде препратен към порт 8080 на публичния сървър.

[уеб] тип = tcp local_ip = 127.0.0.1 local_port = 80 отдалечен_порт = 8080

Стъпка 5 - Стартирайте FRP на локален сървър

Следващата стъпка е да стартирате услугата FRP на локалния сървър.

./ frps -c ./ frps.ini

Вече можете да ssh към вашия локален сървър, като използвате следната команда:

ssh -oPort = 6000 [имейл защитен]

Можете също така да получите достъп до уеб сървъра, работещ на порта на 8080 на публичния сървър

http: //: 8080

Трябва също да разрешите съответните портове на отдалечения сървър, ако имате конфигурирана защитна стена.

Наблюдавайте FPS с помощта на таблото за управление

FPS има свое собствено табло, което може да бъде конфигурирано за преглед на статистиката и показателите.

За да активирате, трябва да добавите подробностите по-долу в frps.ini файл на публичния сървър.

[често] bind_port = 7000 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin

Можете да посочите потребителското име и паролата към детайлите по ваш избор. След това рестартирайте frps.

Можете да отворите таблото на порт 7500 на публичния сървър.

Daemonize FRP услуга

Може да искате да имате FRP услуги на локален и публичен сървър, работещи като услуга / демон.

За да демонизирате frps услугата на публичния сървър:
  1. Копирайте frps файла в / usr / bin
sudo cp frp _ * _ linux_amd64 / frps / usr / bin

2. Копирайте frps.обслужване файл в systemd папка към / etc / systemd / system.

sudo cp frp _ * _ linux_amd64 / systemd / frps.service / etc / systemd / system

3. Създайте папка, наречена frp в / etc / directory.

sudo mkdir -p / etc / frp

4. копие frps.ini файл в / и т.н. / frp

sudo cp frp _ * _ linux_amd64 / frps.ini / etc / frp

5. Презаредете демона

sudo systemctl daemon-reload

6. Стартирайте услугата frps

sudo systemctl стартира frps.обслужване

Проверете състоянието на услугата след стартиране:

$ systemctl статус frps ● frps.услуга - Frp Server Service Loaded: заредена (/ etc / systemd / system / frps.обслужване; хора с увреждания; предварително зададен от доставчика: деактивиран) Активен: активен (работещ) от събота 2020-11-07 16:19:41 EAT; Преди 1s Основен PID: 1081169 (frps) Задачи: 11 (ограничение: 49439) Памет: 16.3M CGroup: / система.парче / frps.услуга └─1081169 / usr / bin / frps -c / etc / frp / frps.ini 07 ноември 16:19:41 сървър.computingforgeeks.com systemd [1]: Стартирана услуга Frp сървър. 07 ноември 16:19:41 сървър.computingforgeeks.com frps [1081169]: 2020/11/07 16:19:41 [I] [услуга.go: 190] frps tcp l> 07 ноември 16:19:41 сървър.computingforgeeks.com frps [1081169]: 2020/11/07 16:19:41 [I] [услуга.go: 289] Табло> 07 ноември 16:19:41 сървър.computingforgeeks.com frps [1081169]: 2020/11/07 16:19:41 [I] [root.go: 212] start frps su> 07 ноември 16:19:42 сървър.computingforgeeks.com frps [1081169]: 2020/11/07 16:19:42 [I] [услуга.go: 444] [cde064bce> 07 ноември 16:19:42 сървър.computingforgeeks.com frps [1081169]: 2020/11/07 16:19:42 [I] [tcp.go: 63] [cde064bcec86ff> 07 ноември 16:19:42 сървър.computingforgeeks.com frps [1081169]: 2020/11/07 16:19:42 [I] [control.go: 446] [cde064bce> 07 ноември 16:19:42 сървър.computingforgeeks.com frps [1081169]: 2020/11/07 16:19:42 [I] [tcp.go: 63] [cde064bcec86ff> 07 ноември 16:19:42 сървър.computingforgeeks.com frps [1081169]: 2020/11/07 16:19:42 [I] [control.go: 446] [cde064bce> 
За да демонизирате frpc услугата на локален сървър:
  1. Копирайте frpc файла в / usr / bin
sudo cp frp _ * _ linux_amd64 / frpc / usr / bin

2. Създайте папка, наречена frp в / etc / directory.

sudo mkdir -p / etc / frp

3. Копирайте frpc.ini файл към / etc / frp

sudo cp frp _ * _ linux_amd64 / frpc.ini / etc / frp

4. Копирайте frpc.сервизен файл в ~ / frp _ * _ linux_amd64 / systemd папка към / etc / systemd / system/.

sudo cp frp _ * _ linux_amd64 / systemd / frpc.service / etc / systemd / system /

5. Презаредете демона

sudo systemctl daemon-reload

6. Стартирайте услугата frpc

sudo systemctl старт frpc.обслужване

Потвърдете, че услугата е в работещо състояние:

$ systemctl статус frpc ● frpc.услуга - Frp Client Service Loaded: заредена (/ etc / systemd / system / frpc.обслужване; хора с увреждания; предварително зададен от доставчика: активиран) Активен: активен (работи) от събота 2020-11-07 14:59:23 EAT; Преди 1 часа и 22 минути Основен PID: 1898174 (frpc) Задачи: 11 (ограничение: 18957) Памет: 3.9M CGroup: / система.парче / frpc.услуга └─1898174 / usr / bin / frpc -c / etc / frp / frpc.ini 07 ноември 16:20:05 местен frpc [1898174]: 2020/11/07 16:20:05 [I] [control.go: 276] [cde064bcec86ffe7] контролен писател i> 07 ноември 16:20:05 местен frpc [1898174]: 2020/11/07 16:20:05 [I] [услуга.go: 174] [cde064bcec86ffe7] опитайте се да се свържете отново> 07 ноември 16:20:05 местен frpc [1898174]: 2020/11/07 16:20:05 [E] [контрол].go: 158] [cde064bcec86ffe7] работна връзка> 07 ноември 16:20:05 местен frpc [1898174]: 2020/11/07 16:20:05 [I] [visitor_manager.go: 60] [cde064bcec86ffe7] gracefull> 07 ноември 16:20:05 местен frpc [1898174]: 2020/11/07 16:20:05 [W] [услуга.go: 177] [cde064bcec86ffe7] се свържете отново със ser> 07 ноември 16:20:06 местен frpc [1898174]: 2020/11/07 16:20:06 [I] [услуга.go: 174] [cde064bcec86ffe7] опитайте се да се свържете отново> 07 ноември 16:20:06 местен frpc [1898174]: 2020/11/07 16:20:06 [I] [услуга.go: 288] [cde064bcec86ffe7] влизане в сървъра> 07 ноември 16:20:06 местен frpc [1898174]: 2020/11/07 16:20:06 [I] [proxy_manager.go: 144] [cde064bcec86ffe7] proxy adde> 07 ноември 16:20:06 местен frpc [1898174]: 2020/11/07 16:20:06 [I] [control.go: 180] [cde064bcec86ffe7] [ssh] start prox> 07 ноември 16:20:06 местен frpc [1898174]: 2020/11/07 16:20:06 [I] [control.go: 180] [cde064bcec86ffe7] [web] старт prox> 

Вече можете да стартирате FRP като демон. Това помага, ако искате да стартирате услугата във фонов режим, а също и за целите на управлението.

Заключение

Успешно инсталирахме FRP прокси и го конфигурирахме. Това е инструмент, който може да бъде много полезен за системните администратори, които желаят да получат достъп до своите локално хоствани услуги чрез интернет. Ако тази публикация ви е била полезна, не се колебайте да споделите и коментирате.

Още статии за четене на нашия уебсайт:

Свят без имейл Кал Нюпорт мисли, че е възможно
Кал Нюпорт не обича разсейването на технологиите. Всъщност Нюпорт смята, че фокусът ни върху технологията и как тя доминира в съвременния бизнес ни въ...
Какво прави добър бизнес имейл
Изграждането на солидна потребителска база е най-важната част от развитието на бизнеса. Бихте могли да предоставите най-доброто качество на услугите п...
Конфигурация на защитната стена на Zimbra с Ufw и Firewalld
В това ръководство ще разгледаме как да защитите вашия съвместен пакет Zimbra на CentOS 7, Debian и Ubuntu сървър, използвайки съответно Firewalld и U...