[CentOS] Proxy 서버를 사용한 내부망 yum 사용 방법

서버가 운영되는 시스템은 인터넷이 안 되는 시스템이 많습니다. 이런 상황에서 yum 을 통한 Package 를 설치할 수 없게 되어 관리가 쉽지 않습니다.

Proxy 서버를 이용하여 인터넷이 가능한 하나의 서버 시스템을 통해 모든 서버가 인터넷이 가능하도록 구성할 수 있습니다.

운영환경

  • CentOS 7.6

설치

인터넷이 되는 서버에 squid Package를 설치합니다.

1
$ yum -y install squid

설정

다음과 같이 Proxy 정책을 설정합니다.

1
$ vi /etc/squid/squid.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
... 생략 ...

# Only allow cachemgr access from localhost
#http_access allow localhost manager
#http_access deny manager

http_access allow all # 모든 IP 에 대해 Allow 정책 추가

# And finally deny all other access to this proxy
#http_access deny all # deny 정책 해제

... 생략 ...

# Squid normally listens to port 3128
http_port 8080 # Proxy 로 사용하길 원하는 Port 지정
#http_port 3128

서비스 시작

1
2
$ systemctl start squid
$ systemctl status squid

정상적으로 Proxy 서비스가 안될경우 다음과 같이 커널 파라미터를 추가합니다.

1
2
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv4.ip_forward = 1

Proxy 서비스 테스트

인터넷이 안되는 내부 시스템에서 다음 명령어를 실행합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@localhost ~]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
repo id repo name status
base/7/x86_64 CentOS-7 - Base 0
extras/7/x86_64 CentOS-7 - Extras 0
updates/7/x86_64 CentOS-7 - Updates 0
repolist: 0
[root@localhost ~]#

아직 yum 을 사용 할 수 없습니다.

yum.conf 수정

/etc/yum.conf 파일에 다음과 같이 proxy 옵션을 추가합니다. 인터넷이 되는 시스템의 IP와 Port 정보를 입력합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@localhost ~]# vi /etc/yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

proxy=http://192.168.100.200:8080 # Proxy 서버 정보 추가

테스트

yum 사용이 가능한지 다시 확인합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@localhost ~]# yum repolist
Loaded plugins: fastestmirror
Loaded plugins: fastestmirror, langpacks
Repository nodesource is listed more than once in the configuration
Repository nodesource-source is listed more than once in the configuration
Loading mirror speeds from cached hostfile
* base: mirror.kakao.com
* epel: ftp.riken.jp
* extras: mirror.kakao.com
* updates: mirror.kakao.com
repo id repo name status
base/7/x86_64 CentOS-7 - Base 10,070
extras/7/x86_64 CentOS-7 - Extras 413
updates/7/x86_64 CentOS-7 - Updates 1,134
repolist: 11,617
[root@localhost ~]#

위와 같은 결과가 나타나면 yum 을 사용할 수 있습니다.

Share