Mong muốn:
- Bạn đang sử dụng những dịch vụ chỉ whitelist cho các ip ở location A (có thể là cơ quan, nhà riêng, ip nào đó bạn tin tưởng).
- Bạn đi công tác, về quê, đi du lịch nhưng vẫn muốn dùng các dịch vụ như đang ngồi ở location A.
Chuẩn bị:
- 1 máy ở location A để proxy qua máy đó. (gọi là máy A)
- 1 server có ip tĩnh hoặc dùng ddns thì dùng domains được trỏ vào ip động của bạn. (gọi là máy B)
- Máy A sẽ liên tục kết nối và nghe lệnh từ máy B
Thực hiện:
- Cài VPN server trên máy A. Ở đây tôi dùng Ubuntu nên tôi cài luôn Squid Proxy.
sudo apt update
sudo apt install squid
sudo systemctl status squid
- Thêm 2 dòng sau ở file /etc/squid/squid.conf trước dòng http_access deny all
acl all src 0.0.0.0/0
# http_access allow localhost
http_access allow all
- Restart squid
sudo systemctl restart squid
- Cài frp(fast reverse proxy) trên máy A. Chọn phiên bản phù hợp với hệ điều hành ở đây. Vì máy A đang chạy i7, ubuntu 64bits nên tôi chọn bản này.
- Unzip file vừa tải vào chỗ nào đó. Sửa file frpc.ini như sau
[common]
server_addr = <DOMAIN_OR_IP_OF_B>
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3128
remote_port = 6000
- Chạy lệnh sau cấp quyền cho toàn bộ thư mục vừa giải nén
chmod -R 777 <unzip_dir>
- Tạo dịch vụ để tự động start dịch vụ trên máy A bằng cách tạo file /etc/systemd/system/frps.service với nội dung như sau
[Unit]
Description=FRP Server
After=network.target
[Service]
ExecStart=/path/to/frpc -c /path/to/frpc.ini
Restart=on-abort
[Install]
WantedBy=multi-user.target
- Enable và start dịch vụ
systemctl enable frps
systemctl start frps
- Ở máy B expose cổng 7000 ra internet. Cũng cài frp(ở nhà là raspberry pi nên tôi chọn bản cho arm) . Tạo file ở /etc/systemd/system/frps.service với nội dung như sau
[Unit]
Description=FRP Server
After=network.target
[Service]
ExecStart=/path/to/frps -c /path/to/frps.ini
Restart=on-abort
[Install]
WantedBy=multi-user.target
- Enable và start dịch vụ ở máy B
systemctl enable frps
systemctl start frps
Sử dụng
Bạn set proxy trong trình duyệt hoặc những nơi cần dùng tới dịch vụ như ở máy A với domain = domain của máy B và port 6000.
Ví dụ với firefox có thể vào Setting -> tìm proxy và set như sau
Article Categories:
config