Cách kết nối với internet từ Terminal khi sử dụng proxy với xác thực


14

Tôi phải sử dụng máy chủ proxy để kết nối với internet. Tôi đã đặt tất cả các proxy trong cài đặt proxy hệ thống của mình. Bây giờ tôi có thể kết nối Internet bằng trình duyệt và ứng dụng của mình.

Nhưng tôi không thể kết nối với internet từ thiết bị đầu cuối của tôi.

Tôi đã thử

export http_proxy="http://username:password@proxyserver:port/" 

Nhưng các ứng dụng thiết bị đầu cuối vẫn không thể kết nối với internet.


1
Lệnh nào bạn đang thực thi trong Terminal để "kết nối với internet"? Hoặc làm thế nào để bạn thấy rằng bạn không thể kết nối?
nohillside

1
Máy chủ proxy (không có) bạn đang nói đến ở đây đang chuyển tiếp các webkết nối của bạn , không phải tất cả các kết nối Internet của bạn. webliên kết đang sử dụng cổng 80, 443. Các kết nối Internet có thể sử dụng tất cả các cổng còn lại của bộ 65536. Ví dụ, một sshliên kết sẽ sử dụng cổng 22 sẽ không đi qua httpmáy chủ proxy của bạn . Do đó câu hỏi về patrix để giúp bạn có câu trả lời tốt hơn.
dan

@patrix ping google.com
TLE

@TLE Ping là một ngoại lệ đối với quy tắc và thực tế hoàn toàn không sử dụng proxy, ngay cả khi http_proxyđược đặt. Ping mong đợi một kết nối trực tiếp và trong nhiều trường hợp khi sử dụng proxy, ping sẽ thất bại mặc dù proxy vẫn kết nối thành công.
BinaryMisfit

3
thử curl -o /dev/null www.google.comthay vìping
nohillside

Câu trả lời:


12

Terminal không sử dụng cài đặt proxy được định cấu hình trong ngăn tùy chọn mạng vì nó không thực hiện bất kỳ kết nối nào. Terminal chỉ cho phép bạn bắn các lệnh sẽ sử dụng mạng theo nhiều cách khác nhau.

Khi thiết lập các biến http_proxyhttps_proxymôi trường của bạn không nên bao gồm các tiền tố http:hoặc https:tiền tố.

Do đó, biến môi trường trong trường hợp của bạn nên đọc:

http_proxy=username:password@proxyserver:port

Lưu ý: nhiều chương trình cũ có vấn đề với việc kết nối qua máy chủ proxy yêu cầu xác thực trước khi kết nối.

Mẹo bổ sung:

Do cơ sở hạ tầng của chúng tôi, chúng tôi thấy việc người dùng chạy SquidMan cục bộ dễ dàng hơn nhiều và được cấu hình để kết nối với proxy chính của chúng tôi. Điều này cho phép máy cục bộ hoạt động như một proxy trực tiếp và loại bỏ rất nhiều vấn đề xác thực, v.v. khi sử dụng máy chủ proxy trên máy Mac, đặc biệt là trong môi trường hỗn hợp và AD.

Trong trường hợp sử dụng phương pháp này của chúng tôi http_proxyhttps_proxysẽ là:

http_proxy=localhost:3128

ý bạn là tôi phải viết export http_proxy = "tên người dùng: password @ proxyserver: port"
TLE

@TLE Đúng. Terminal không cần biết giao thức vì nó đã biết đó là kết nối HTTP.
BinaryMisfit

Nhưng tôi vẫn không thể kết nối Internet.
TLE

@TLE Sau đó, vấn đề rất có thể với xác thực. Hãy thử đặt proxy mà không bao gồm tên người dùng và mật khẩu, điều đó có nghĩa là bạn sẽ được nhắc thông tin khi cố gắng kết nối. Nó thường chỉ ra rằng chính proxy không hỗ trợ kết nối từ Terminal. Chúng tôi đã có một vấn đề tương tự trong nội bộ, đó là lý do tại sao tôi đề xuất giải pháp SquidMan.
BinaryMisfit

vẫn không làm việc??
TLE

0

Gần đây tôi gặp vấn đề này và trong tìm kiếm tìm thấy bài đăng này . Thêm một số điểm thành công đối với tôi (trên máy Mac, sử dụng Terminal):

export http_proxy=http://username:password@proxyserver:port
export HTTP_PROXY=${http_proxy}

Và cho https:

export https_proxy=https://username:password@proxyserver:port
export HTTPS_PROXY=${https_proxy}

Từ đó tôi có thể sử dụng gitbrewkhông gặp vấn đề gì (và xác thực thông qua proxy).


-1

Bạn có thể sử dụng lệnh sau trong Cửa sổ đầu cuối.

networksetup -setairportnetwork $Interface $ssID $Password

Đây $Interfacelà số nhận dạng kiểu "enX" cho thẻ AirPort của bạn (thường là en1, nhưng nó là en0 trên MacBook Air và en2 trên Mac Pros và cũng có thể thay đổi vì những lý do khác)

$ssIDlà tên mạng của bạn, chẳng hạn như "SSID của Simon". Kèm theo nó trong dấu ngoặc kép nếu nó chứa khoảng trắng.

$Password là mật khẩu WEP, WPA-PSK hoặc WPA2-PSK của bạn.


1
Điều này cấu hình mạng, nó không cho phép thiết bị đầu cuối tự kết nối thông qua proxy.
BinaryMisfit
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.