Làm cách nào để định cấu hình proxy mà không cần GUI?


79

Làm cách nào để định cấu hình cài đặt proxy trong phiên bản Ubuntu Server hoặc Minimal (CLI) bằng thiết bị đầu cuối?

Câu trả lời:


108

Proxy toàn hệ thống trong CLI Ubuntu / Server phải được đặt làm biến môi trường.

  • Mở /etc/environmenttệp bằng vi(hoặc trình chỉnh sửa yêu thích của bạn). Tệp này lưu trữ các biến toàn hệ thống được khởi tạo khi khởi động.
  • Thêm các dòng sau, sửa đổi cho phù hợp. Bạn phải sao chép cả chữ hoa và chữ thường vì (không may) một số chương trình chỉ tìm cái này hoặc cái kia:

    http_proxy = "http://myproxy.server.com:8080/"
    https_proxy = "http://myproxy.server.com:8080/"
    ftp_proxy = "http://myproxy.server.com:8080/"
    no_proxy = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    HTTP_PROXY = "http://myproxy.server.com:8080/"
    HTTPS_PROXY = "http://myproxy.server.com:8080/"
    FTP_PROXY = "http://myproxy.server.com:8080/"
    NO_PROXY = "localhost, 127.0.0.1, localaddress, .localdomain.com"
    
  • apt-get, aptitudevv sẽ không tuân theo các biến môi trường khi được sử dụng bình thường với sudo. Vì vậy, cấu hình riêng chúng; tạo một tệp được gọi 95proxiestrong /etc/apt/apt.conf.d/và bao gồm các mục sau:

    Mua lại :: http :: proxy "http://myproxy.server.com:8080/";
    Thu nhận :: ftp :: proxy "ftp://myproxy.server.com:8080/";
    Mua lại :: https :: proxy "https://myproxy.server.com:8080/";
    

Cuối cùng, đăng xuất và khởi động lại để đảm bảo các thay đổi có hiệu lực.


Nguồn: 1 , 2 . Xem 1 đặc biệt để được trợ giúp thêm, bao gồm tập lệnh để nhanh chóng bật / tắt proxy.


Tôi cần giúp đỡ về điều này. Tôi đã thử điều này trên Ubuntu Server 12.04 ảo một thời gian rồi và nó không hoạt động. Tôi có nó hoạt động với Ubuntu 12.04 ảo (không phải máy chủ). Nhưng tôi đã sử dụng GUI để áp dụng các thiết lập toàn cầu. Tôi đã thử với các trích dẫn như liên kết thấp hơn cho thấy, và nó không giúp được gì. Nếu tôi nhập địa chỉ IP thay vì tên miền.com thì định dạng có thay đổi không? Tôi đã thử nhiều cách kết hợp.
Frantumn

bạn có chắc chắn https_proxy = "http?
BBK

Vâng, đây không phải là một câu trả lời tuyệt vời trong quan điểm của tôi bởi vì thông tin proxy (không chính xác) tôi đã cung cấp khi cài đặt không nằm trong / etc / môi trường.
James T Snell

1
Trong trường hợp của tôi, Ubuntu 12.04, không cần thiết phải đăng xuất và khởi động lại để đảm bảo các thay đổi có hiệu lực. Tôi thực thi: sudo dịch vụ quản lý mạng khởi động lại
Daniel Mora

1
@BBK ngay cả khi sử dụng https, bạn vẫn có thể phải kết nối với proxy qua http, điều này về cơ bản cho phép máy chủ proxy nghe lén kết nối có thể an toàn của bạn.
s3lph

9

Nếu bạn có một proxy xác thực, thì các URL sẽ khác nhau. Thay vì:

"http://myproxy.server.com:8080/"

Bạn sẽ có:

"http://user_name:password@myproxy.server.com:8080/"

Lưu ý rằng đây vẫn là các URL, vì vậy mật khẩu (và có thể là tên người dùng) sẽ phải được mã hóa URL .

Ví dụ: tên người dùng muruvà mật khẩu )qv3TB3LBm7EkP}sẽ giống như:

"http://muru:)qv3TB3LBm7EkP%7D@myproxy.server.com:8080/"

Điều này có thể được thực hiện theo nhiều cách khác nhau:

  1. Có một số trang web để mã hóa:
  2. Lập trình:

Trong một nhúm, bạn có thể sử dụng man urlđể xem những ký tự nào cần được mã hóa:

An escaped octet is encoded as a character triplet, 
consisting of the percent character "%" followed by 
the two hexadecimal digits representing the octet code...

Và các mã octet có sẵn trên man ascii.


0
                                 Proxy Environment Variables:

http_proxy: Máy chủ proxy cho lưu lượng HTTP
https_proxy: Máy chủ proxy cho lưu lượng HTTPS
ftp_proxy: Máy chủ proxy cho lưu lượng FTP
no_proxy: Mẫu cho địa chỉ IP hoặc tên miền không nên sử dụng proxy

Giá trị cho mọi cài đặt proxy, ngoại trừ no_proxy, sử dụng cùng một mẫu. proxy_http=username:password@proxy-host:port

Proxy cài đặt tạm thời: export HTTP_PROXY=user:pass@my.proxy.server:8080

Cài đặt proxy liên tục: sử dụng vim ~/.bash_profileđể mở tệp thiết lập bash, sau đó đặt các dòng sau vào trong nó

export http_proxy=username:password@proxyhost.com:8080
export https_proxy=username:password@proxyhost.com:8081
export no_proxy=localhost, 127.0.0.1, *.my.lan

sử dụng source ~/.bash_profileđể áp dụng các thay đổi


lỗi đánh máy trong dòng ví dụ "xuất khẩu" cuối cùng ('exprot' phải là 'export'). Tôi đã cố chỉnh sửa nó để áp dụng bản sửa lỗi nhưng rõ ràng các chỉnh sửa phải là "6 ký tự trở lên" ...
Jeremy Davis

1
Cảm ơn, tôi đã sửa nó.
Yossarian42
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.