banner
Jun 29, 2023
148 Views

Dựng proxy từ máy chủ bảo mật để bypass restrict

Written by
banner
Mô hình kết nối

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ị:

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
[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 Tags:
· · · · ·
Article Categories:
config
banner

Leave a Reply

Your email address will not be published. Required fields are marked *