-
-
- 호스트명 변경🛠 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 서버 주소를 추가하면 인터넷 접속 문제 해결 가능.하지만 Ubuntu의 NetworkManager가 자동으로 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 재시작
이제 NetworkManager가 자동으로 DNS를 변경하지 않도록 설정됨.sudo systemctl restart NetworkManager
5️⃣ 가상머신(VM) 클론 시 네트워크 설정 주의점✅ 수정해야 할 요소
또는 /etc/hostname 파일을 직접 수정 가능.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.conf그리고 저장 후 재시작해야 적용됨.mathematicaListen 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 파일 수정
- 다음 부분 수정
→ 3이면 CLI 모드, 5면 GUI 모드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 설치 상태 확인
만약 GUI가 설치되지 않았다면, GNOME을 설치 후 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 접속.
'OS > 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 |