시스템 전체에 걸쳐 네트워크 프록시를 설정하는 방법이 있습니까?

시스템 전체에 걸쳐 네트워크 프록시를 설정하는 방법이 있습니까?

GNOME 앱(및 Firefox 및 Chrome)이 프록시를 통해 네트워크에 액세스하도록 하려면 다음을 사용합니다.gnome-network-properties(이것은 훌륭하고 간단한 GUI라고 말해야 합니다). 다른 애플리케이션(예: APT, Transmission, XChat)의 경우 특정 방법을 사용해야 합니다.

프록시(호스트 이름:포트)가 필요한 네트워크에 있을 때 이를 방지하고 무언가를 켜고 끌 수 있는 방법이 있습니까?

답변1

나는 네트워크를 사용하는 거의 모든 Linux/Unix 소프트웨어가 환경 변수를 http_proxy존중할 것이라고 생각합니다. ftp_proxy배포 설정 방법에 따라 /etc/environment기본적으로 로그인 셸에 표시되고 읽혀집니다.

라인을 추가할 수 있습니다.

http_proxy=123.45.67.89:1011

쉽지만 /etc/environment이 파일의 변경 사항은 다음에 쉘 프로세스를 시작할 때만 적용됩니다.오직해당 쉘 프로세스에서. 내 생각엔 네가 아닌 것 같아할 수 있는현재 쉘이 아닌 다른 쉘에서 전역 변수를 수정합니다.

답변2

http_proxy다른 답변에서 지적했듯이 프록시 서버를 사용하는 가장 좋은 방법은 환경 변수를 사용하는 것이라는 데 동의합니다 . 불행하게도 모든 애플리케이션이 http_proxy 환경 변수를 존중하는 것은 아닙니다. 이것이 바로 제가 여전히 http_proxy 환경 변수를 사용하는 이유입니다.양말일부 프로그램은 LD_PRELOAD를 사용하여 SOCKS 프록시를 통해 네트워크 연결을 강제합니다.

답변3

모든 경우에 적용되는 단일 솔루션은 없습니다. 각 프로그램은 고유한 방법을 사용하여 프록시 서버에 연결합니다.

내 사무실에도 비슷한 문제가 있습니다. 제가 찾은 가장 좋은 방법은 VPN 연결을 사용하는 것입니다. 연결하면 전체 시스템의 네트워크 트래픽이 VPN을 통과합니다. VPN 서버에 액세스할 수 없는 경우 새 서버를 수동으로 실행하고 이를 자신이 소유한 프록시 서버에 연결할 수 있습니다.

애플리케이션이 프록시를 지원하지 않는 경우 다음과 같은 것을 사용할 수 있습니다.양말화, 네트워크 연결을 래핑합니다.

답변4

나는 사용한다이 도구, 이는 기본적으로 단일 지점에서 다양한 애플리케이션의 설정을 구성하는 데 사용되는 여러 스크립트입니다.

추신: 저는 이 도구를 작성하고 유지 관리했습니다.

관련 정보