คู่มือการกำหนดค่า Proxy บน Ubuntu และ Debian Linux
อัปเดตเมื่อ:
บนระบบปฏิบัติการ Ubuntu และ Debian Linux การตั้งค่าพร็อกซีจะถูกแบ่งตามบริบทการทำงาน: เซสชัน Shell จะอ่านจาก /etc/environment หรือ ~/.bashrc ส่วนตัวจัดการแพ็กเกจ APT จะอ่านจาก /etc/apt/apt.conf.d/ บริการระบบ systemd จะอ่านจากไฟล์ drop-in unit และเดสก์ท็อป GNOME จะใช้ gsettings คู่มือนี้ให้คำสั่งที่ถูกต้องสำหรับการตั้งค่าทุกระบบย่อยของ Ubuntu ด้วยพร็อกซี HTTP(S) จาก VinaProxy
export http_proxy=http://user:pass@ip:port https_proxy=http://user:pass@ip:port- 1 IP₫40,000
- 5+ IP₫35,000
- 10+ IP₫25,000
- 20+ IP₫25,000
- 50+ IP₫25,000
- 100+ IP₫25,000
- 200+ IP₫25,000
- 500+ IP₫25,000
- 1000+ IP₫22,000
- 2000+ IP₫20,000
- 1 IP₫40,000
- 5+ IP₫35,000
- 10+ IP₫25,000
- 20+ IP₫25,000
- 50+ IP₫25,000
- 100+ IP₫25,000
- 200+ IP₫25,000
- 500+ IP₫25,000
- 1000+ IP₫22,000
- 2000+ IP₫20,000
ขอบเขตการกำหนดค่า Proxy บน Ubuntu
โดยค่าเริ่มต้น คำสั่ง sudo จะล้างตัวแปรสภาพแวดล้อมของผู้ใช้ และบริการ systemd จะไม่อ่านไฟล์ ~/.bashrc โปรดดูตารางอ้างอิงนี้เพื่อเลือกไฟล์ที่ถูกต้องบน Ubuntu:
| ระบบย่อยของ Ubuntu | ไฟล์กำหนดค่า / คำสั่ง | มีผลต่อ | ความคงอยู่ |
|---|---|---|---|
| Interactive Shell | ~/.bashrc หรือ /etc/profile.d/proxy.sh | curl, wget, python, git, node | ทุกครั้งที่ล็อกอิน Shell |
| สภาพแวดล้อม PAM ทั่วทั้งระบบ | /etc/environment | ทุกเซสชันผู้ใช้ PAM | คงอยู่หลังรีบูตระบบ |
| ตัวจัดการแพ็กเกจ APT | /etc/apt/apt.conf.d/80proxy | sudo apt update และ apt install | ถาวรเฉพาะสำหรับ APT |
| บริการ systemd | /etc/systemd/system/<svc>.service.d/proxy.conf | Docker daemon, เซอร์วิสที่พัฒนาเอง | มีผลหลังสั่ง daemon-reload |
ขั้นตอนการตั้งค่าบน Ubuntu Server และ Desktop
bash
# 1. /etc/profile.d/proxy.sh (เครื่องมือ Shell และ CLI)
sudo tee /etc/profile.d/proxy.sh > /dev/null << 'EOF'
export http_proxy="http://USER:PASS@IP:PORT"
export https_proxy="http://USER:PASS@IP:PORT"
export HTTP_PROXY="http://USER:PASS@IP:PORT"
export HTTPS_PROXY="http://USER:PASS@IP:PORT"
export no_proxy="localhost,127.0.0.1,::1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
export NO_PROXY="$no_proxy"
EOF
source /etc/profile.d/proxy.sh
# 2. /etc/apt/apt.conf.d/80proxy (ตัวจัดการแพ็กเกจ APT)
sudo tee /etc/apt/apt.conf.d/80proxy > /dev/null << 'EOF'
Acquire::http::Proxy "http://USER:PASS@IP:PORT/";
Acquire::https::Proxy "http://USER:PASS@IP:PORT/";
EOF
การคงค่าตัวแปรภายใต้ sudo และการรักษาความปลอดภัยของข้อมูลเข้าสู่ระบบ
- หากคุณรันคำสั่งผ่าน
sudo curl ...หรือsudo pip ...ให้เพิ่มพารามิเตอร์sudo -Eเพื่อคงค่าตัวแปรสภาพแวดล้อมของพร็อกซีไว้ หรือเพิ่มกฎDefaults env_keep += "http_proxy https_proxy HTTP_PROXY HTTPS_PROXY no_proxy NO_PROXY"ผ่านคำสั่งsudo visudo - จำกัดสิทธิ์ของไฟล์ (
sudo chmod 600 /etc/apt/apt.conf.d/80proxy) บนเซิร์ฟเวอร์ Linux ที่ใช้งานร่วมกันหลายคน เพื่อป้องกันไม่ให้ผู้ใช้รายอื่นอ่านข้อมูลผู้ใช้และรหัสผ่านพร็อกซีของคุณ
ขั้นตอนทีละขั้น
- 1
ส่งออกตัวแปรสภาพแวดล้อมของ Shell (/etc/profile.d/proxy.sh)
สร้างไฟล์ /etc/profile.d/proxy.sh โดยกำหนดทั้งตัวพิมพ์เล็ก (http_proxy, https_proxy, no_proxy) และตัวพิมพ์ใหญ่ (HTTP_PROXY, HTTPS_PROXY, NO_PROXY) เพื่อให้เครื่องมือ GNU และ Go/Rust CLI ทั้งหมดสามารถจดจำได้
- 2
กำหนดค่า Proxy เฉพาะสำหรับตัวจัดการแพ็กเกจ APT
เนื่องจาก sudo apt update จะละเลยตัวแปรของ Shell ให้สร้างไฟล์ /etc/apt/apt.conf.d/80proxy พร้อมคำสั่ง Acquire::http::Proxy และ Acquire::https::Proxy
- 3
ทดสอบการเชื่อมต่อขาออกด้วย curl
โหลดการตั้งค่าด้วย
source /etc/profile.d/proxy.shจากนั้นรันcurl -s https://api.ipify.orgเพื่อยืนยันว่าเครื่อง Ubuntu ของคุณเชื่อมต่อผ่าน VinaProxy อย่างถูกต้อง
คำถามที่พบบ่อย
ทำไมบน Linux จึงต้องประกาศทั้งตัวพิมพ์เล็ก http_proxy และตัวพิมพ์ใหญ่ HTTP_PROXY?
เครื่องมือบางตัว (เช่น curl และ wget) จะอ่านตัวพิมพ์เล็ก http_proxy ในขณะที่ไลบรารีและเครื่องมืออื่นๆ อาจอ่านเฉพาะ HTTP_PROXY ตัวพิมพ์ใหญ่ การประกาศทั้งสองแบบช่วยให้ทุกโปรแกรมทำงานได้เหมือนกัน
ทำไม `sudo apt update` จึงไม่ยอมวิ่งผ่านตัวแปร `http_proxy` ที่ส่งออกไว้?
sudo จะรีเซ็ตตัวแปรสภาพแวดล้อมเพื่อความปลอดภัย การกำหนดค่าใน /etc/apt/apt.conf.d/80proxy จะช่วยให้ APT ทำงานผ่านพร็อกซีได้อย่างแน่นอนโดยไม่ต้องพึ่งพาสภาพแวดล้อมภายนอก
จะตั้งค่าพร็อกซีบนหน้าต่างกราฟิก Ubuntu Desktop (GNOME) ได้อย่างไร?
ไปที่ การตั้งค่า → เครือข่าย → พร็อกซีเครือข่าย → กำหนดเอง หรือใช้คำสั่ง gsettings set org.gnome.system.proxy mode 'manual' พร้อมระบุโฮสต์และพอร์ต
รับพร็อกซี HTTP(S) ความหน่วงต่ำสำหรับ Ubuntu
ส่งมอบ Dedicated IPv4 และ Static ISP พร็อกซีที่อยู่อาศัยใน 7 ประเทศได้ทันที
ดูราคาพร็อกซี