Ubuntu 및 Debian Linux에서 프록시를 설정하는 방법
업데이트:
Ubuntu 및 Debian Linux에서는 실행 컨텍스트에 따라 프록시 설정 범위가 구분됩니다. 셸 세션은 /etc/environment 또는 ~/.bashrc를 읽고, APT 패키지 관리자는 /etc/apt/apt.conf.d/를 참조하며, systemd 서비스는 드롭인 유닛 파일을 읽고, GNOME 데스크톱은 gsettings를 사용합니다. 이 가이드는 VinaProxy HTTP(S) 프록시를 활용하여 Ubuntu의 각 하위 시스템을 완벽하게 구성하는 방법을 제공합니다.
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
Ubuntu 프록시 설정 적용 범위 비교
기본적으로 sudo는 사용자 환경 변수를 초기화하며, systemd 서비스는 ~/.bashrc를 읽지 않습니다. Ubuntu에서 올바른 파일을 설정하려면 아래 표를 참조하세요.
| Ubuntu 하위 시스템 | 설정 파일 / 명령어 | 적용 대상 | 지속성 |
|---|---|---|---|
| 대화형 셸 | ~/.bashrc 또는 /etc/profile.d/proxy.sh | curl, wget, python, git, node | 모든 로그인 셸 세션 |
| 시스템 전체 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-reload 실행 후 적용 |
Ubuntu Server 및 Desktop 단계별 설정 방법
bash
# 1. /etc/profile.d/proxy.sh (셸 및 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옵션을 추가하여 환경 변수를 유지하거나,sudo visudo를 통해Defaults env_keep += "http_proxy https_proxy HTTP_PROXY HTTPS_PROXY no_proxy NO_PROXY"를 설정하세요.- 다중 사용자가 공유하는 Linux 서버에서는 설정 파일 권한을 제한(
sudo chmod 600 /etc/apt/apt.conf.d/80proxy)하여 다른 로컬 사용자가 프록시 인증 정보를 확인할 수 없도록 보호해야 합니다.
단계별 안내
- 1
셸 환경 변수 내보내기 (/etc/profile.d/proxy.sh)
모든 GNU 및 Go/Rust CLI 도구가 인식할 수 있도록 소문자(http_proxy, https_proxy, no_proxy)와 대문자(HTTP_PROXY, HTTPS_PROXY, NO_PROXY) 변수를 모두 포함하는 /etc/profile.d/proxy.sh 파일을 생성합니다.
- 2
APT 패키지 관리자 전용 프록시 구성
sudo apt update는 사용자 셸 변수를 무시하므로, Acquire::http::Proxy 및 Acquire::https::Proxy 지시어가 포함된 /etc/apt/apt.conf.d/80proxy 파일을 생성합니다.
- 3
curl 명령어로 외부 연결 테스트
source /etc/profile.d/proxy.sh를 실행하여 변수를 적용한 후curl -s https://api.ipify.org를 실행하여 Ubuntu 트래픽이 VinaProxy를 경유하는지 확인합니다.
자주 묻는 질문
Linux에서 소문자 http_proxy와 대문자 HTTP_PROXY를 모두 지정해야 하는 이유는 무엇인가요?
curl, wget 등 일부 CLI 도구는 소문자 http_proxy를 우선 참조하지만, 일부 최신 라이브러리는 대문자 HTTP_PROXY만 지원합니다. 두 형식을 모두 선언하면 호환성 문제가 발생하지 않습니다.
`sudo apt update` 실행 시 내보낸 `http_proxy` 변수가 적용되지 않는 이유는 무엇인가요?
sudo는 보안상 기본적으로 사용자 환경 변수를 제거합니다. /etc/apt/apt.conf.d/80proxy 파일을 생성해 두면 APT가 독립적으로 안전하게 프록시를 사용합니다.
Ubuntu Desktop GUI(GNOME)에서 프록시를 설정하는 방법은 무엇인가요?
설정 → 네트워크 → 네트워크 프록시 → 수동으로 이동하거나, 터미널에서 gsettings set org.gnome.system.proxy mode 'manual' 명령어와 관련 호스트 및 포트를 입력하세요.
Ubuntu 전용 초저지연 HTTP(S) 프록시 구매
전 세계 7개국 전용 IPv4 및 고정 주거용 ISP 프록시를 즉시 발급받으세요.
프록시 요금제 보기