Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "KSNK" các nội dung bạn quan tâm.

Tạo proxy trên máy Windows: Tinyproxy trong WSL trong mạng nội bộ không có IP tĩnh (khó nhất)

ICT

Tình huống là:

  • Máy Windows 10 home
  • Trong mạng LAN có IP tĩnh hoặc không
  • Mạng LAN kết nối ra bên ngoài có IP tĩnh hoặc không

Đây có lẽ là tình huống khó nhất để tạo proxy. Cũng đắt giá, vì proxy thường là "động" một cách tự nhiên.

Sơ đồ:

Crawl PC (Windows) -Tailscale - PC proxy (Windows) - WSL - Tinyproxy - ra mạng bên ngoài

Do khá nằng nhằng lên tốc độ có thể giảm 2-20%

A. TRÊN MÁY PC PROXY (WINDOWS)

Bước 1. Cài https://tailscale.com

Tải về và cài như bình thường

Đăng nhập cùng một tài khoản Google/Microsoft.

Sau đó 2 máy “nhìn thấy nhau” qua IP nội bộ kiểu 100.x.x.x. Ví dụ IP Tailscale: 100.101.10.5

Bước 2. Cài WSL

Tham khảo: Cài đặt WSL để dùng Linux trong Windows

 

Bước 3. Cài Tinyproxy trong WSL

  • Ưu điểm:

    • Cực kỳ nhẹ (vài MB RAM, chạy trong nền yên tĩnh).

    • Có thể bật/tắt qua lệnh.

    • Dễ dùng với systemctl hoặc crontab khởi động tự động.

    • Hợp lý nếu bạn đã quen Linux hoặc muốn tích hợp vào container / reverse tunnel / cron.

  • Cài nhanh:

    sudo apt update
    sudo apt install tinyproxy -y
    sudo nano /etc/tinyproxy/tinyproxy.conf

     

    → Chỉnh:

    Port 8888
    Listen 0.0.0.0
    # Cho phép IP từ mạng Tailscale
    Allow 100.0.0.0/8

    DisableViaHeader Yes

     

    Khởi động:

    sudo systemctl restart tinyproxy
     

    Bước 4. NAT Port 8888 từ Windows vào WSL

    Bước này rất quan trọng. Vì từ bên ngoài sẽ vào Windows, chứ không vào WSL Nên ta cần chuyển các truy cập proxy, cổng 8888 vào trong WSL

    4.1. Lấy IP của WSL trong Windows

    Vì Windows sẽ tạo 1 mạng như mạng LAN ảo cho WSL. Cần chuyển port 8888 của windows vào mạng này.

    ip addr show eth0 | grep inet
    Ví dụ thấy IP của WSL là 172.28.240.1

    4.2. Chạy PowerShell (Administrator) trên laptop và nhập:

    netsh interface portproxy add v4tov4 listenport=8888 listenaddress=0.0.0.0 connectport=8888 connectaddress=172.28.240.1

    4.3. Rồi mở cổng firewall

    netsh advfirewall firewall add rule name="Tinyproxy WSL 8888" dir=in action=allow protocol=TCP localport=8888

    4.4. Cần chỉnh tinyproxy.conf

    sudo nano /etc/tinyproxy/tinyproxy.conf

    Thêm IP của WSL vào nữa nhé:

    Allow 127.0.0.1
    Allow 100.0.0.0/8
    Allow 172.16.0.0/12
     

    Khởi động lại tinyproxy

    sudo systemctl restart tinyproxy
    sudo tail -f /var/log/tinyproxy/tinyproxy.log
     

    Bước 5. Kiểm tra các thông số

Kiểm tra port:

sudo netstat -tlnp | grep 8888

Kết quả ví dụ:

tcp   0   0 0.0.0.0:8888   0.0.0.0:*   LISTEN   1234/tinyproxy

Kiểm tra

curl -x http://localhost:8888 https://ifconfig.me

Ra được IP là được

Trong WSL

sudo tail -f /var/log/tinyproxy/tinyproxy.log

 

B. TRÊN MÁY CRAWL PC (WINDOWS)

Bước 1. Cài https://tailscale.com

Như A.1 bên trên

Ví dụ IP Tailscale: 100.102.12.9

Bước 2, Kiểm tra

curl -x http://100.82.200.6:8888 https://ifconfig.me

Ra địa chỉ của PC proxy là thành công

Cũng có thể kiểm tra kết nối 2 PC:

ping 100.82.200.6
Reply from 100.82.200.6: bytes=32 time=9ms TTL=128
Reply from 100.82.200.6: bytes=32 time=9ms TTL=128
Reply from 100.82.200.6: bytes=32 time=9ms TTL=128