내부망 레포지토리 서버 구축 및 원격지 설정
🚀 공인 IP 서버 역할:
이 문서에서 공인 IP 서버(프록시 역할을 수행하는 서버)로 동작하는 시스템을 설정하여, 내부망에서는 직접 외부 패키지를 다운로드할 수 없으므로 원격 레포지토리를 구축하고 이를 내부망에서 사용할 수 있도록 설정합니다.
1. 내부망 레포지토리 서버 구축
내부망에서는 직접 외부와 통신할 수 없기 때문에, 공인 IP를 가진 서버를 이용하여 외부 레포지토리에서 패키지를 동기화하고, 이를 HTTP 서버를 통해 내부망에 제공하는 방식입니다.
📌 사설 레포지토리 서버 패키지 설치
- httpd → Apache 웹서버 설치 (레포지토리 배포용)
- createrepo → 로컬 레포지토리 생성
- yum-utils → reposync 등의 유틸리티 포함
📌 HTTPD 포트 변경 (필요 시)
기본적으로 HTTPD는 80번 포트를 사용하지만, 특정 환경에서는 다른 포트를 사용할 수도 있습니다.
예제에서는 8888번 포트를 사용하도록 변경합니다.
설정 변경:
📌 HTTPD 서비스 활성화
- start → HTTPD 서비스 시작
- enable → 부팅 시 자동 실행
- status → 현재 실행 상태 확인
2. 외부 레포지토리 데이터 동기화
공인 IP 서버에서 외부 레포지토리를 로컬 디렉토리로 복제합니다.
📌 레포지토리 다운로드
다음 명령을 실행하여 외부 레포지토리에서 패키지를 복사합니다.
✅ reposync → 레포지토리 패키지를 동기화
✅ --repoid=appstream → 특정 레포지토리(AppStream)만 동기화
✅ --newest-only → 최신 버전 패키지만 다운로드
✅ -p /var/www/html/repo → 저장할 디렉토리 지정
✅ nohup → 백그라운드에서 실행하여 터미널 종료 시에도 계속 실행됨
📌 현재 동기화된 레포지토리 확인
3. 레포지토리 인덱스 생성
동기화된 패키지 목록을 기반으로 레포지토리 인덱스를 생성합니다.
- createrepo → 레포지토리 메타데이터 생성
- -g comps.xml → 레포지토리 그룹 정보 포함
4. HTTPD 서버 설정
동기화된 패키지를 내부망에서 사용할 수 있도록 Apache 설정을 수정합니다.
📌 레포지토리 접근 설정 추가
파일에 아래 내용을 추가합니다.
📌 설정 설명
- Options All Indexes FollowSymLinks → 인덱스 파일을 표시하고 심볼릭 링크를 허용
- Require all granted → 모든 사용자에게 접근 권한 부여
📌 HTTPD 서비스 재시작
📌 브라우저에서 확인
레포지토리가 정상적으로 공유되었는지 확인하려면, 웹 브라우저에서 아래 URL을 입력합니다.
✅ 웹 브라우저에서 폴더 목록이 보이면 정상적으로 설정된 것입니다.
5. 원격 서버에서 레포지토리 등록
내부망에서 공인 IP 서버를 레포지토리로 추가하여 패키지를 설치할 수 있도록 설정합니다.
다음과 같이 .repo 파일을 생성합니다.
📌 AppStream 레포지토리
📌 BaseOS 레포지토리
📌 EPEL 레포지토리
📌 설정 설명
- baseurl=http://공인IP서버:8888/repo/... → 원격 레포지토리 서버 주소
- gpgcheck=0 → GPG 키 확인 비활성화
- enabled=1 → 활성화된 레포지토리
6. 설정 적용 및 확인
새로운 레포지토리를 적용하려면 다음 명령어를 실행합니다.
✅ yum clean all → 기존 캐시 삭제
✅ yum repolist → 새로운 레포지토리가 정상적으로 등록되었는지 확인
🔹 최종 요약
✅ 공인 IP 서버(프록시 역할 서버)에서 외부 레포지토리 데이터를 가져와 HTTP 서버로 제공
✅ 내부망 서버에서는 공인 IP 서버를 레포지토리로 등록하여 패키지 설치 가능
✅ reposync를 사용하여 패키지 다운로드, createrepo로 레포지토리 인덱스 생성
✅ 내부망에서 baseurl=http://공인IP서버:8888/repo/를 등록하여 사용
🚀 이 방법을 활용하면 외부와 차단된 환경에서도 원격지에서 패키지를 안전하게 관리할 수 있습니다!
'IT > 리눅스' 카테고리의 다른 글
리눅스에서 포트 포워딩 설정 방법 (0) | 2025.02.15 |
---|---|
리눅스 Active Directory(AD) 조인 설정 가이드 (0) | 2025.02.15 |
Crontab을 이용한 자동 스케줄링 설정 및 로그 관리 (0) | 2025.02.15 |
RedHat Insights 설정 및 활용 방법 (0) | 2025.02.15 |
Locky 8 NTP 설정 (Chronyd) 설명 (0) | 2025.02.15 |