Ejen Tencent Cloud: Penembusan rangkaian dalaman Tencent Cloud dan tetapan akses rangkaian awam
Dalam kerja pembangunan harian, kita sering menghadapi senario seperti itu: anda menulis laman web atau latar belakang program kecil di komputer tempatan anda, ingin menghantarnya kepada pelanggan untuk demonstrasi, atau ingin mengujinya pada telefon bimbit anda. Walau bagaimanapun, komputer tempatan anda tersembunyi di belakang penghala rumah atau syarikat anda. Tanpa IP rangkaian awam, rangkaian luaran tidak dapat diakses sama sekali.
Pada masa ini, "penembusan intranet" sangat berguna.
Banyak pemula akan memilih alat siap pakai pihak ketiga seperti kulit kacang dan Ngrok, tetapi yang percuma bukan sahaja mempunyai had laju dan had aliran, tetapi juga nama domain yang sukar didengar. Sebenarnya, jika anda mempunyai
Pelayan awan Tencent (pelayan aplikasi ringan atau CVM)
, Anda boleh menggunakan artifak sumber terbuka
Frp
, Luangkan 5 minit untuk membina perkhidmatan penembusan intranet anda sendiri. Kelajuan tidak terhad, lalu lintas penuh, dan anda boleh mengikat nama domain anda sendiri.
Tutorial hari ini secara langsung menuju ke topik, dan akan membawa anda untuk menyelesaikan konfigurasi pelayan Tencent Cloud dan pelanggan tempatan, dan membuka akses rangkaian awam sepenuhnya.
Prinsip teras: Apakah penembusan intranet?
Sebelum memulakan, gunakan 10 saat untuk memahami prinsipnya, dan anda tidak akan pening ketika mengkonfigurasi kemudian:
Penembusan intranet pada dasarnya
Cari orang tengah untuk bercakap
。
Pelayan (frps): Jalankan pada pelayan awan Tencent yang anda mempunyai IP rangkaian awam. Ia bertanggungjawab untuk memantau permintaan pengguna di rangkaian awam.
Pelanggan (frpc): Jalankan pada komputer tempatan anda yang tidak mempunyai IP rangkaian awam. Ia akan secara aktif memulakan sambungan ke pelayan awan Tencent dan mewujudkan "saluran rahsia" eksklusif.
Apabila pengguna rangkaian luaran mengunjungi pelayan Tencent Cloud anda, Tencent Cloud akan menghantar permintaan tersebut ke komputer tempatan anda di sepanjang saluran ini, dan komputer tempatan akan kembali dengan cara yang sama setelah memprosesnya.
Peringkat pertama: Konfigurasi pelayan awan Tencent (frps)
Pertama sekali, kita mesti mengkonfigurasi pelayan awan Tencent sebagai "orang tengah" yang berkelayakan. Ambil sistem Linux(Ubuntu/CentOS) sebagai contoh di sini.
1. Muat turun perisian frp
Sambutlah pelayan Tencent Cloud anda dan pergi ke GitHub untuk melihat versi terbaru frp.
Jalankan arahan berikut untuk memuat turun versi Linux frp (pilih mengikut seni bina pelayan anda, biasanya amd64)
Bash
https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz wget
Unzip fail dan masukkan direktori:
Bash
Tar-zxvf frp_0.60.0_linux_amd64.tar.gz
Cd frp_0.60.0_linux_amd64
2. Mengubah suai fail konfigurasi
Frps. toml
Di sisi pelayan, kita hanya perlu memperhatikan
s
(Pelayan) Fail pada akhir. Menggunakan
Nano
Atau
Vi
Membaiki
Tukar
frps.toml
:
Bash
Nano frps.toml
Kosongkan kandungan lalai di dalamnya dan ubah ke konfigurasi standard berikut:
# Frps. toml
Bind_port = 7000 # port untuk pelayan berkomunikasi dengan pelanggan
# Jika anda ingin melihat status penembusan melalui laman web, anda boleh mengkonfigurasi panel (pilihan)
Dashboard_port = 7500 # port konsol
Dashboard_user = "admin" # Nama pengguna konsol
Dashboard_pwd = "Kata laluan kuat anda"
# Pengesahan keselamatan (sangat disarankan untuk menambahkan untuk mengelakkan orang lain menggelapkan pelayan anda untuk penembusan)
Auth. method = "token"
Auth. token = "Buat sendiri Token yang rumit"
Simpan dan keluar.
3. Mulakan pelayan
Jalankan arahan berikut untuk memulakan:
Bash
. /Frps-c frps.toml
Lihat output pada skrin
Frps started successfully
, Yang menunjukkan bahawa pelayan sudah siap.
💡Petua anti-pecah latar belakang: Jalankan seperti ini secara langsung, setelah tetingkap SSH ditutup, perkhidmatan akan rosak. Nohup disyorkan. /Frps-c frps.toml >/dev/null 2>& 1 & Buangkannya ke latar belakang untuk berjalan.
Tahap kedua: melepaskan Tencent Cloud Security Group (pemula adalah yang paling mudah untuk melangkah ke lubang)
Banyak orang mendapati bahawa mereka tidak dapat berhubung setelah konfigurasi, 90% daripadanya adalah kerana Tencent Cloud
Firewall/Kumpulan Keselamatan
Pintu terkunci. Beberapa port digunakan untuk frp, dan anda mesti pergi ke konsol untuk melepaskannya secara manual.
Log masuk ke Tencent Cloud Console dan masukkan halaman pengurusan pelayan awan anda.
Klik pada firewall (pelayan aplikasi ringan) atau kumpulan keselamatan (CVM) di bar menu kiri.
Klik untuk menambah peraturan: Port: Isi 7000 (port komunikasi frp), Dasar: Benarkan. Port: Isi 7500 (port panel, jika tidak tersedia), dasar: izinkan. Port: Isi 80 atau 8080, dll. (Anda ingin menggunakan port untuk mengakses laman web di rangkaian luaran).
Klik OK untuk menyimpan.
Fasa 3: Konfigurasi Pelanggan Tempatan (frpc)
Sekarang, kita mahu komputer tempatan yang tersembunyi di intranet mengambil inisiatif untuk "mengenali saudara-mara." Menurut sistem komputer tempatan anda (Windows/Mac), pergi ke GitHub frp untuk memuat turun pakej yang dimampatkan yang sesuai. Ambil komputer Windows sebagai contoh di sini.
1. Sediakan dokumen
Selepas memuat turun versi Windows unzip, anda akan melihat fail yang sama. Kerana ia adalah pelanggan, kami hanya tinggal dengan
C
(C
Fail akhir):
Frpc.exe
Dan
Frpc. toml
。
2. Ubah suai fail konfigurasi tempatan
Frpc. toml
Buka dengan Notepad atau Kod VS
Frpc. toml
, Tukar ke yang berikut:
Ini, TOML
# Frpc. toml
Server_addr = "IP rangkaian awam pelayan awan Tencent anda"
Server_port = 7000
kaedah.pengesahan = "token"
Auth. token = "Mesti sama persis dengan token di awan frps.toml"
# Contoh 1: Memetakan laman web tempatan (seperti port 8080 tempatan) ke rangkaian awam
[[Proxies]]
Nama = "my_local_website"
Type = "tcp"
Local_ip = "127.0.0.1"
Local_port = 8080 # Pelabuhan mana yang dijalankan oleh perkhidmatan tempatan anda
Remote_port = 8080 # port yang dipetakan ke pelayan awan Tencent
# Contoh 2: Pemetaan desktop jauh (ingin mengawal komputer Windows dari jauh di rumah di rangkaian luaran)
[[Proxies]]
Nama = "windows_remote_desktop"
Type = "tcp"
Local_ip = "127.0.0.1"
Local_port = 3389 # port lalai desktop jauh Windows
Remote_port = 33890 # port khusus untuk akses rangkaian luaran (ingat untuk melepaskan 33890 di Tencent Cloud Firewall)
3. Mulakan pelanggan secara tempatan
Pada komputer Windows,
Jangan
Klik dua kali secara langsung
Frpc.exe
! Tingkap itu akan melintas.
Di ruang kosong folder frp, tekan dan tahan kekunci Shift papan kekunci, dan klik butang tetikus kanan, dan pilih di sini untuk membuka tetingkap PowerShell (atau terminal).
Masukkan arahan berikut dan tekan Enter: PowerShell./frpc.exe -c frpc.toml
Melihat bahawa konsol mengeluarkan hasil permulaan, ini bermaksud bahawa saluran rahsia dibuka secara rasmi!
Tahap keempat: menguji akses rangkaian awam
Sekarang, saat untuk menyaksikan keajaiban telah tiba.
Sekiranya anda menjalankan laman web dengan Tomcat, Node.js atau Python di komputer tempatan anda, port adalah
8080
。
Sekarang anda hanya mengambil telefon bimbit dengan akses Internet, memotong Wi-Fi dan menggunakan rangkaian selular, dan masukkan di bar alamat penyemak imbas:
http:// Tencent anda
IP rangkaian awam pelayan awan: 8080
Anda akan mendapati bahawa laman web di komputer tempatan anda dibuka secara langsung di telefon anda! Pada masa ini, sama ada penyahpepijatan mesin sebenar applet WeChat atau paparan kod kepada pelanggan di tempat yang berbeza, ia tidak terganggu.
Permainan lanjutan: mengikat nama domain dan port tersembunyi (mengucapkan selamat tinggal kepada nombor port jelek)
Tambahkan satu selepas IP untuk setiap lawatan
: 8080
Ekor seperti itu tidak hanya jelek, tetapi banyak rangkaian syarikat juga akan melarang port tidak standard. Kami berharap dapat menggunakan
http://api.yourdomain.com
Nama domain bersih ini boleh diakses secara langsung.
Amalan terbaik adalah menambahkan lapisan pada pelayan awan Tencent
Ejen terbalik Nginx
:
Arahkan rekod resolusi nama domain anda (seperti *.yourdomain.com resolusi umum) ke IP pelayan awan Tencent anda.
Pasang Nginx pada pelayan awan Tencent.
Ubah konfigurasi Nginx dan teruskan permintaan nama domain dari port 80 (port web standard standard) ke port pemetaan frp:
Mulakan semula Nginx:sudo systemctl restart nginx.
Selepas konfigurasi ini, firewall Tencent Cloud hanya perlu dilepaskan
7000
(Untuk frp) dan
80
(Untuk Nginx), masukkan nama domain secara langsung untuk akses rangkaian luaran, walaupun
: 8080
Semua disimpan, selamat dan elegan.
Ringkasan dan elakkan lubang
Menggunakan Tencent Cloud untuk membina penembusan intranet adalah teknologi yang sangat praktikal dan menjimatkan. Akhirnya, ia diringkaskan menjadi empat formula, dan masalah yang dihadapi dibandingkan dan disiasat:
Versi di kedua-dua hujungnya harus sama: Nombor versi flp Tencent Cloud dan komputer tempatan harus sama persis, jika tidak, mudah untuk memutuskan hubungan yang tidak dapat dijelaskan.
Perlindungan keselamatan tidak boleh dilupakan: anda mesti menambahkan token ke fail konfigurasi, jika tidak, pelayan anda akan digunakan sebagai batu loncatan percuma oleh orang jahat setiap minit.
Port awan akan dilepaskan: Selagi remote_port baru ditambahkan, pergi ke "firewall" konsol awan Tencent untuk membuka pintu secepat mungkin.
Gunakan nohup untuk operasi latar belakang: Ingatlah untuk menambahkan nohup atau mengkonfigurasinya sebagai perkhidmatan sistem untuk memastikan bahawa penembusan intranet masih dalam talian setelah SSH terputus.

