-
-
- 호스트명 변경🛠 Ubuntu & Rocky Linux 네트워크 설정 및 DNS 관리 요약
1️⃣ 네트워크 설정 파일✅ Ubuntu
네트워크 설정 파일:또는 Netplan 사용 (Ubuntu 18.04 이상)✅ Rocky Linux (CentOS 포함)
네트워크 설정 파일:(ens160은 네트워크 인터페이스 이름이며, 환경에 따라 다를 수 있음)
2️⃣ 인터넷 접속 불가 문제 (DNS 설정)✅ DNS 설정 확인 (공통)예제:💡 위와 같이 Google DNS (8.8.8.8, 8.8.4.4) 또는 사용 중인 네트워크의 DNS 서버 주소를 추가하면 인터넷 접속 문제 해결 가능.echo "nameserver 8.8.8.8" > /etc/resolv.conf echo "nameserver 1.1.1.1" >> /etc/resolv.conf
3️⃣ 호스트명 및 로컬 IP 매핑 설정✅ 호스트 설정 파일예제:위와 같이 설정하면 myserver라는 이름으로 192.168.100.100 서버에 접속할 수 있음.
4️⃣ Ubuntu의 NetworkManager 설정 (DNS 문제 해결)📌 해결 방법: NetworkManager에서 고정 DNS 설정- NetworkManager 설정 파일 열기
sudo nano /etc/NetworkManager/NetworkManager.conf- 아래 내용을 추가하거나 수정:
[main] dns=none- NetworkManager 재시작
sudo systemctl restart NetworkManager
5️⃣ 가상머신(VM) 클론 시 네트워크 설정 주의점✅ 수정해야 할 요소
sudo hostnamectl set-hostname new-hostname- IP 주소 변경
- Ubuntu는 /etc/network/interfaces 또는 /etc/netplan/*.yaml
- Rocky Linux는 /etc/sysconfig/network-scripts/ifcfg-ens160 수정
- MAC 주소 충돌 해결
클론된 VM의 네트워크 설정을 확인하고 새로운 MAC 주소를 생성해야 할 수도 있음.
ip link show
📌 전체 요약- Ubuntu와 Rocky의 네트워크 설정 파일을 알고 있어야 한다.
- Ubuntu: /etc/network/interfaces 또는 /etc/netplan/*.yaml
- Rocky: /etc/sysconfig/network-scripts/ifcfg-ens160
- 인터넷 접속 불가 시 DNS 설정 확인
- /etc/resolv.conf 파일에서 nameserver 설정을 확인
- 필요하면 nameserver 8.8.8.8 추가
- 호스트명 및 로컬 IP 매핑
- /etc/hosts 파일에서 설정 가능
- Ubuntu의 NetworkManager가 DNS를 자동으로 변경하면 설정을 고정해야 함.
- /etc/NetworkManager/NetworkManager.conf 수정 (dns=none)
- VM을 클론할 때 호스트명과 네트워크 설정을 변경해야 한다.
- IP 주소, 호스트명, MAC 주소 확인 및 수정 필요.
- 호스트명 변경🛠 Ubuntu & Rocky Linux 네트워크 설정 및 DNS 관리 요약
- Rocky Linux나 Ubuntu 같은 가상머신(VM)은 클론(Clone) 기능을 사용하여 복제할 수 있음.
하지만 클론된 VM은 고유한 네트워크 설정을 유지하지 않기 때문에 수정이 필요함. - Ubuntu의 NetworkManager는 위치 변경 시 자동으로 네트워크 및 DNS를 변경하는 기능을 제공한다.
하지만 이 기능이 의도치 않게 DNS 설정을 변경하면서 인터넷 접속 문제가 발생할 수 있다. -
ping myserver
-
192.168.100.100 myserver
-
/etc/hosts
- 호스트명을 설정하면 IP 대신 이름(hostname) 으로 서버에 접속할 수 있다.
- ✅ DNS 설정 변경 (Ubuntu & Rocky)
-
nameserver 8.8.8.8 nameserver 8.8.4.4
-
cat /etc/resolv.conf
- 도메인 주소를 IP로 변환하는 DNS 설정이 잘못되면 인터넷 접속이 안 될 수 있음.
이 경우 DNS 서버 정보를 확인해야 한다. -
/etc/sysconfig/network-scripts/ifcfg-ens160
-
/etc/netplan/*.yaml
-
/etc/network/interfaces
- 운영체제에 따라 네트워크 설정 파일의 경로와 형식이 다르다.
- 서버에서 네트워크를 설정하고 유지하기 위해 네트워크 설정 파일 및 DNS 설정을 정확히 이해해야 한다.
-
🔹 서버 서비스 생성 및 설정 방법 요약
서버에서 특정 서비스를 실행하려면 아래 6가지 단계가 필요하다.
1️⃣ 필요한 서비스 패키지 설치
해당 서비스가 없다면 패키지를 설치해야 한다.
예: Apache 웹 서버(httpd) 설치
💡 -y 옵션은 설치 과정에서 사용자 확인 없이 자동 진행하도록 해줌.
2️⃣ 서비스 설정 파일 수정 (필요시)
각 서비스는 설정 파일을 통해 동작 방식을 조정할 수 있다.
- Apache의 기본 설정 파일 위치:
/etc/httpd/conf/httpd.conf
- 예를 들어 기본 포트를 8080으로 변경하려면:
vi /etc/httpd/conf/httpd.confmathematicaListen 80 → Listen 8080 (수정)
3️⃣ 서비스 실행 및 자동 실행 설정
서비스를 실행하고, 서버 재부팅 후에도 자동으로 실행되도록 설정한다.
✅ 서비스 실행 (즉시 실행)
또는 systemd 기반 명령어 사용 (CentOS 7 이상)
4️⃣ 방화벽 및 SELinux 설정
서비스가 정상 작동하려면 방화벽에서 해당 포트를 열어야 함.
✅ 방화벽에서 포트 개방 (80번 포트 예시)
✅ SELinux 설정 (Rocky Linux 등에서 필요할 수 있음)
SELinux가 활성화된 상태에서는 웹 서버가 정상적으로 실행되지 않을 수 있음. 설정을 영구적으로 변경하려면 /etc/selinux/config 파일 수정 필요.
5️⃣ 서비스 정상 실행 확인
✅ 현재 실행 중인 서비스 및 포트 확인
또는 ss 명령어 사용 (netstat 대체)
이 명령어를 실행했을 때, httpd 서비스가 80 포트에서 LISTEN 상태여야 정상 동작 중임.
6️⃣ 클라이언트에서 서비스 접속 테스트
이제 클라이언트(웹 브라우저)에서 접속하여 서비스가 정상 작동하는지 확인한다.
✅ 웹 브라우저에서 서버 접속
(192.168.100.100 → 서버의 IP 주소로 변경)
💡 기본 포트(80번)가 아니라 8080으로 변경한 경우
📌 추가 부연 설명
- 서비스 자동 실행 설정은 필수
- 서버 재부팅 후에도 자동으로 실행되도록 systemctl enable 명령어를 사용.
- 수동으로 실행(systemctl start)만 하면 재부팅 후에는 서비스가 꺼진 상태가 됨.
- 방화벽 설정이 안 되어 있으면 외부에서 접근 불가
- 서버 내부에서는 서비스가 정상 동작하더라도, 방화벽에서 포트를 열어주지 않으면 외부에서 접근할 수 없음.
- SELinux 문제 해결
- SELinux가 활성화된 상태에서는 웹 서버가 파일을 읽는 것이 제한될 수 있음.
- setenforce 0으로 일시적으로 비활성화할 수 있지만, 영구적으로 끄려면 /etc/selinux/config에서 SELINUX=disabled로 변경 후 재부팅 필요.
📌 전체 프로세스 요약
* Linux에서
'명령어_1 ; 명령어_2' 하면 두 개의 명령어를 각각 한번에 실행해준다. 앞의 명령어에 오류가 있어도 별개의 뒤의 명령어는 실행된다.
'명령어_1 && 명령어_2' 하면 앞의 명령어를 실행한 뒤 뒤의 명령어를 실행한다. 앞에 명령어에서 오류가 있으면 뒤의 명령어가 실행되지 않는다.
🔹 Runlevel 상세 설명 및 사용법
1️⃣ Runlevel이란?
- 리눅스 시스템이 어떤 상태(모드)로 부팅될지 결정하는 설정값
- CLI(명령어 콘솔)와 GUI(그래픽 모드) 간의 전환 가능
- 현재는 systemd를 사용하는 최신 리눅스 배포판에서 target(systemd target) 방식으로 대체됨
2️⃣ Runlevel별 기능 및 용도
Runlevel설명용도
0 | 시스템 종료 | shutdown -h now 와 동일 |
1 | 단일 사용자 모드 | 관리자(root)용, 시스템 유지보수, 패스워드 초기화 등 |
2 | 멀티유저 모드 (네트워크 없음) | 거의 사용하지 않음 |
3 | 멀티유저 모드 (네트워크 포함) | 일반적인 CLI(콘솔) 모드, 서버 운영에 주로 사용 |
4 | 미사용 | 특별한 설정 없이는 사용되지 않음 |
5 | GUI 모드 | 그래픽 환경(GNOME, KDE 등) 으로 부팅 |
6 | 시스템 재부팅 | reboot 명령어와 동일 |
3️⃣ Runlevel 확인 및 변경 방법
✅ 현재 Runlevel 확인
또는
✅ Runlevel 변경 (일시적 변경)
예) GUI 모드(5)로 변경
✅ 부팅 시 기본 Runlevel 설정 변경 (영구적 변경)
- /etc/inittab 파일 수정
- 다음 부분 수정
id:3:initdefault:
- 저장 후 재부팅
4️⃣ Systemd 기반 Runlevel 전환 (최신 리눅스 배포판용)
CentOS 7 이상에서는 systemd를 사용하므로 target 방식으로 변경해야 함.
✅ 현재 target 확인
✅ target 변경 (영구적 변경)
CLI 모드(3)로 변경
GUI 모드(5)로 변경
✅ 즉시 변경 (재부팅 없이 적용)
📌 추가 참고 사항
- 예전엔 runlevel을 많이 사용했지만, 현재는 systemd가 기본이라 target 방식을 사용
- CLI 환경에서 GUI로 진입하려면 X Window 시스템(GNOME, KDE 등)이 설치되어 있어야 함
- GUI 설치 상태 확인
bash복사편집yum grouplistbash복사편집yum groupinstall "GNOME Desktop" systemctl set-default graphical.target
이제 runlevel과 systemd target을 활용해 원하는 부팅 모드를 설정할 수 있다
🔹 MBR(마스터 부트 레코드) 및 GRUB 백업 요약
- MBR(512KB, 디스크의 첫 번째 섹터)에는 부팅 정보가 저장됨
- 부팅 로더(GRUB2), 파티션 정보, 부트 스트랩 코드 포함
- 시스템 부팅 문제(바이러스, 손상) 발생 시 복구 가능
- 백업 방법
- dd 명령어를 사용하여 MBR 및 파티션 정보 백업
- sfdisk로 파티션 테이블을 백업
- MBR 구조
- 446Byte: 부트스트랩 코드
- 64Byte: 파티션 테이블
- 2Byte: 시그니처 해시코드
- 관련 명령어
- dd → 디스크 전체 복사
- fdisk → 파티션 정보 확인
- sfdisk → 파티션 테이블 백업 & 복원
📌 systemd에서 서비스 파일 생성 및 관리 (Tomcat 예시)
특정 서비스를 systemd에서 관리할 수 있도록 별도의 서비스 파일을 생성할 수 있다.
1️⃣ 서비스 파일 생성 (tomcat.service)
서비스 파일을 /usr/lib/systemd/system/ 디렉터리에 생성하면 systemctl을 이용해 서비스 관리를 할 수 있다.
tomcat.service 예제
🔹 [Unit]: 서비스 설명 및 실행 순서 지정
🔹 [Service]: 실행 유형, 환경 변수, 실행 명령어, 재시작 설정 등 지정
🔹 [Install]: 부팅 시 실행되도록 설정
2️⃣ 서비스 활성화 및 실행
서비스 파일을 만든 후, 다음 명령어로 활성화 및 실행하면 된다.
📌 요약
- /usr/lib/systemd/system/에 **서비스 파일(~.service)**을 생성
- [Unit], [Service], [Install] 섹션을 정의하여 서비스 실행 방법 설정
- systemctl enable tomcat.service 로 부팅 시 자동 실행 설정
- systemctl start tomcat 로 서비스 실행
* 필요 없는 소프트웨어를 삭제해보자. 만일 firstboot(OR smartd)가 필요 없다면
① which firstboot 해서 파일의 저장 위치 /usr/sbin/firstboot를 보고,
② rm –rf /usr/sbin/firstboot식으로 삭제하면 된다.
1️⃣ WINE: Linux에서 Windows 프로그램 실행
- Linux의 실행파일은 .bin, Windows 실행파일은 **.exe, .com, .bat**이다.
- Windows 실행파일을 Linux에서 실행하려면 WINE을 설치 후 사용한다.
bash복사편집wine <파일명>.exe # Windows 실행 파일 실행
💡 주의점
- WINE은 Windows 프로그램을 완벽하게 실행하지 못할 수도 있음.
- GUI 프로그램의 경우 실행이 불안정할 가능성이 있음.
2️⃣ Linux 부팅 과정
Linux 머신이 부팅되는 과정은 다음과 같다.
🔹 부팅 과정 상세
- BIOS(Post 과정) 실행
- 마더보드 ROM-BIOS가 자동으로 실행됨.
- CPU, RAM, 키보드, 마우스 등의 장치를 점검 후 초기화 진행.
- 부트로더(GRUB2) 실행
- BIOS 종료 후, 부팅 순서에 따라 GRUB2가 실행됨.
- GRUB2는 운영체제를 선택하고 커널을 메모리에 로드.
- 커널 로드 및 초기화 프로세스(init) 진행
- init 프로세스 실행.
- systemd 기반 배포판에서는 **systemd**가 실행됨.
- /etc/fstab 설정에 따라 블록 장치를 마운트.
- /etc/rc.local에서 설정된 초기 작업 수행.
- 로그인 화면 출력
- GUI 환경(runlevel 5) 또는 CLI 환경(runlevel 3)으로 부팅 완료.
💡 확인 방법
3️⃣ Linux 서비스 관리 (systemd)
Linux에서는 systemd를 이용해 서비스를 관리할 수 있다.
💡 서비스 파일 생성 예시 (tomcat.service)
💡 서비스 활성화 및 실행
원격 접속 방법
Linux 원격 접속 방법은 CLI 및 GUI 방식이 있다.
접속 방식설명telnet, ssh | CLI 기반 원격 접속 (보안상 ssh 권장) |
vnc | GUI 기반 원격 접속 |
Putty, SuperPutty, XShell | Windows에서 원격 접속용 프로그램 |
💡 SSH 서버 설치 및 실행 (Rocky Linux)
💡 Windows에서 Putty 사용
- Windows에서 Putty.exe 실행 후 IP 입력 → SSH 접속.
'Linux' 카테고리의 다른 글
리눅스 과정5일차 (0) | 2025.02.26 |
---|---|
리눅스 과정 4일차 (0) | 2025.02.26 |
리눅스 과정 2일차 (1) | 2025.02.25 |
리눅스 과정 1일차 (0) | 2025.02.25 |
VMware (0) | 2025.02.18 |