1. 구성
- 프로젝트명은
ProjYj2024
, 사용자는 projyj
라고 간주하고 설명함
- 신규 개발한
ProjYj2024
, 기존에 개발된 ProjYjSvr
(ProjYj
) 프로젝트에 모두 접속할 수 있도록 구성함
ProjYj2024
는 ProjYjSvr
의 API 를 사용
1-1. SSD
- Oracel/MySQL 엔진
- 서버
- OS : CentOs Stream 9
🔶 CentOs Stream 9
- IP : 192.168.1.999 / PORT : 22
- ID : root / PW : password$$
1-2. HDD
🔶 MySQL
- ID : root / PW : password$$
1-3. 포트별 접속 정보
🔶 Jenkins
- 초기 패스워드 :
070b01f500e94ca1b1a3c3fa01b0c911
- Admin User 정보
- ID : projyj / PW : password$$ / E-Mail :
projyj@email.addr.com
🔶 Github
2. CentOs Stream 9
🔶 Keyboard
🔶 Installation Destination
- 저장소 구성은 변경하지 않고 기본으로 설치하였음
🔶 소프트웨어 선택
- 설치하고 싶은 환경을 선택 후
Done
- 일반적으로 테스트 목적으로 Server with GUI 환경으로 설치
🔶 Network & Host
2-1. 접속
- CentOs Stream 9 부팅 > root 계정으로 접속 > IP 확인
[root@localhost ~]$ hostname -I
192.168.1.999
🔶 OS 정보 확인
[root@localhost ~]
NAME="CentOS Stream"
VERSION="9"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="9"
PLATFORM_ID="platform:el9"
PRETTY_NAME="CentOS Stream 9"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:centos:centos:9"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 9"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"
🔶 hostnamectl 정보
- 아무 인자없이
hostnamectl
실행 시 > 시스템의 호스트명, Chassis, Machine ID, Boot ID, 가상화, 커널 버전 등의 정보를 출력
- 호스트명 변경 시 : set-hostname 과 변경할 호스트명을 입력 (hostnamectl set-hostname [변경할 호스트명])
[root@localhost ~]
Static hostname: (unset)
Transient hostname: localhost
Icon name: computer-desktop
Chassis: desktop 🖥️
Machine ID: aea36b66c60547078fd6d43ffc1a4736
Boot ID: afece10043164066a0a98a689a500628
Operating System: CentOS Stream 9
CPE OS Name: cpe:/o:centos:centos:9
Kernel: Linux 5.14.0-427.el9.x86_64
Architecture: x86-64
Hardware Vendor: Micro-Star International Co., Ltd.
Hardware Model: MS-7D22
Firmware Version: 1.30
2-2. 파티션 확인
[root@localhost ~]
Disk /dev/nvme0n1: 465.76 GiB, 500107862016 bytes, 976773168 sectors
Disk model: Samsung SSD 970 EVO Plus 500GB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 3B8AB5CB-8566-4D97-AB1B-9596BE837479
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 1230847 1228800 600M EFI System
/dev/nvme0n1p2 1230848 3327999 2097152 1G Linux filesystem
/dev/nvme0n1p3 3328000 976773119 973445120 464.2G Linux LVM
Disk /dev/sda: 3.64 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: HGST HDN724040AL
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 42B2D9E1-D9F9-4E97-A835-008CB7AC2269
Device Start End Sectors Size Type
/dev/sda1 2048 7814035455 7814033408 3.6T Microsoft basic data
Disk /dev/mapper/cs-root: 70 GiB, 75161927680 bytes, 146800640 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/cs-swap: 15.65 GiB, 16806576128 bytes, 32825344 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/cs-home: 378.52 GiB, 406432251904 bytes, 793812992 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
- 블록 장치를 나열 :
lsblk
-f
: 디스크에 대한 추가 정보 확인 가능
- Linux 컴퓨터의 디스크와 파티션을 볼 수 있음
[root@localhost ~]
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 3.6T 0 disk
└─sda1 8:1 0 3.6T 0 part
nvme0n1 259:0 0 465.8G 0 disk
├─nvme0n1p1 259:1 0 600M 0 part /boot/efi
├─nvme0n1p2 259:2 0 1G 0 part /boot
└─nvme0n1p3 259:3 0 464.2G 0 part
├─cs-root 253:0 0 70G 0 lvm /
├─cs-swap 253:1 0 15.7G 0 lvm [SWAP]
└─cs-home 253:2 0 378.5G 0 lvm /home
[root@localhost ~]
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
└─sda1 ntfs 새 볼륨 E4E8BF2DE8BEFD3C
nvme0n1
├─nvme0n1p1 vfat FAT32 933D-493E 591.3M 1% /boot/efi
├─nvme0n1p2 xfs b4540b96-808f-4545-8966-77d007090acf 654.4M 32% /boot
└─nvme0n1p3 LVM2_member LVM2 001 5JEvcU-09gj-HmWW-FznL-mQ7n-oKBq-je5vqM
├─cs-root xfs 9548f8c3-cb9a-4d44-918d-a24064024222 62.8G 10% /
├─cs-swap swap 1 e291fe33-1624-46e7-ac50-4a0d6548e92a [SWAP]
└─cs-home xfs 3d3e737e-3c9d-438e-ad4b-0a87558a061c 375.7G 1% /home
- 하드웨어 정보 확인 :
hwinfo
- 하드웨어, 특히 저장 디스크에 대한 정보를 보는 데 유용
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
- Logical Volume 상태 :
lvdisplay
- LVM(Logical Volume Manager) : 물리적 한계에 제약받지 않고 디스크를 효율적으로 분할하여 사용 가능
- LV 로 나뉜 파티션은 최종적으로 파일 시스템을 할당받고 특정 디렉토리에 마운트 될 수 있음
[root@localhost ~]
--- Logical volume ---
LV Path /dev/cs/swap
LV Name swap
VG Name cs
LV UUID 1PJ2Bq-YVVQ-bWwC-Mcc5-GXNG-may4-IzfLRw
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2024-03-15 09:41:23 +0900
LV Status available
LV Size 15.65 GiB
Current LE 4007
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
--- Logical volume ---
LV Path /dev/cs/home
LV Name home
VG Name cs
LV UUID DNN5i1-x5Gy-j4jH-7nOd-n3sC-bg4n-pH1Y6K
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2024-03-15 09:41:23 +0900
LV Status available
LV Size <378.52 GiB
Current LE 96901
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
--- Logical volume ---
LV Path /dev/cs/root
LV Name root
VG Name cs
LV UUID Nbo7SF-68jP-2IsP-Sd4e-K4kt-vAXa-4baXqc
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2024-03-15 09:41:23 +0900
LV Status available
LV Size 70.00 GiB
Current LE 17920
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
🔶 bash: hwinfo: command not found...
sudo apt install hwinfo [On Debian, Ubuntu and Mint]
sudo yum install hwinfo [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-apps/hwinfo [On Gentoo Linux]
sudo pacman -S hwinfo [On Arch Linux]
sudo zypper install hwinfo [On OpenSUSE]
🔶 저장 공간 확인
- 저장 공간 확인 :
df [옵션] [디렉토리 또는 마운트 지점]
-h
: human-readable 옵션을 사용하면 용량을 보기 쉬운 형식으로 출력
- 디렉토리 또는 마운트 지점 : 특정 디렉토리나 마운트 지점의 파일 시스템 정보만 표시
[root@localhost ~]
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 6.2G 18M 6.2G 1% /run
/dev/mapper/cs-root 70G 7.2G 63G 11% /
/dev/nvme0n1p2 960M 306M 655M 32% /boot
/dev/mapper/cs-home 379G 2.7G 376G 1% /home
/dev/nvme0n1p1 599M 7.5M 592M 2% /boot/efi
🔶 Linux GUI
- Linux 데스크톱 컴퓨터 > GUI(그래픽 사용자 인터페이스) 애플리케이션 > 디스크 목록을 확인 가능
- 시스템 메뉴 >
디스크 애플리케이션
검색 > 디스크와 해당 파티션을 확인
2-3. 하드디스크 파티션
- parted로 파티션 테이블 보기 :
parted /dev/sda1
[root@localhost ~]
GNU Parted 3.5
Using /dev/sda1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Error: /dev/sda1: unrecognised disk label
Model: Unknown (unknown)
Disk /dev/sda1: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: unknown
Disk Flags:
(parted)
[root@localhost ~]
Disk /dev/sda1: 3.64 TiB, 4000785104896 bytes, 7814033408 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x73736572
[root@localhost ~]
Physical volume "/dev/sda1" successfully created.
Volume group "VG01" successfully created
[root@localhost ~]
Logical volume "lv01cargo" created.
[root@localhost ~]
Logical volume "lv02cargo" created.
[root@localhost ~]
Logical volume "lv01vm" created.
[root@localhost ~]
Logical volume "lv02vm" created.
[root@localhost ~]
[root@localhost ~]
--- Volume group ---
VG Name VG01
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 4
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <3.64 TiB
PE Size 4.00 MiB
Total PE 953861
Alloc PE / Size 921600 / <3.52 TiB
Free PE / Size 32261 / <126.02 GiB
VG UUID 1A8hCi-yvbQ-1IRg-yIkr-724H-LONA-7y2yVY
[root@localhost ~]
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p3 cs lvm2 a-- 464.17g 0
/dev/sda1 VG01 lvm2 a-- <3.64t <126.02g
[root@localhost ~]
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv01cargo VG01 -wi-a----- 900.00g
lv01vm VG01 -wi-a----- 900.00g
lv02cargo VG01 -wi-a----- 900.00g
lv02vm VG01 -wi-a----- 900.00g
home cs -wi-ao---- <378.52g
root cs -wi-ao---- 70.00g
swap cs -wi-ao---- 15.65g
- 파일 시스템과 마운트
mkfs.xfs /dev/VG01/lv01cargo
, mkfs.xfs /dev/VG01/lv02cargo
, mkfs.xfs /dev/VG01/lv01vm
, mkfs.xfs /dev/VG01/lv02vm
[root@localhost ~]
meta-data=/dev/VG01/lv01cargo isize=512 agcount=4, agsize=58982400 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1 nrext64=0
data = bsize=4096 blocks=235929600, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=115200, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
- 디렉토리 구성과 실제 사용하는 파일시스템 크기 확인
[root@localhost ~]
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 16G 0 16G 0% /dev/shm
tmpfs tmpfs 6.2G 18M 6.2G 1% /run
/dev/mapper/cs-root xfs 70G 7.2G 63G 11% /
/dev/nvme0n1p2 xfs 960M 306M 655M 32% /boot
/dev/mapper/cs-home xfs 379G 2.7G 376G 1% /home
/dev/nvme0n1p1 vfat 599M 7.5M 592M 2% /boot/efi
/dev/mapper/VG01-lv01cargo xfs 900G 6.4G 894G 1% /cargo1
/dev/mapper/VG01-lv02cargo xfs 900G 6.4G 894G 1% /cargo2
/dev/mapper/VG01-lv01vm xfs 900G 6.4G 894G 1% /vm1
/dev/mapper/VG01-lv02vm xfs 900G 6.4G 894G 1% /vm2
🔶 Partition does not start on physical sector boundary
[root@localhost ~]
Disk /dev/sda: 3.64 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: HGST HDN724040AL
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 42B2D9E1-D9F9-4E97-A835-008CB7AC2269
Device Start End Sectors Size Type
/dev/sda1 2048 7814035455 7814033408 3.6T Microsoft basic data
Disk /dev/sda1: 3.64 TiB, 4000785104896 bytes, 7814033408 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x73736572
Device Boot Start End Sectors Size Id Type
/dev/sda1p1 1920221984 3736432267 1816210284 866G 72 unknown
/dev/sda1p2 1936028192 3889681299 1953653108 931.6G 6c unknown
/dev/sda1p3 0 0 0 0B 0 Empty
/dev/sda1p4 27722122 27722568 447 223.5K 0 Empty
Partition 4 does not start on physical sector boundary.
Partition table entries are not in disk order.
- 위의 마운트 단계까지 수행하고 다시 조회해보면 해당 내용은 뜨지 않음
2-4. 기본 설정
🔶 네임서버 설정
- 네임서버 및 도메인 지정 역할을 해주는 설정 파일
- 현재 네트워크는 연결되어 있지만 DNF(자동) 패키지 설치 즉, 외부 도메인 미러 사이트를 찾기 위해 특정 ISP(인터넷을 제공하는 개인이나 기업)에 미리 지정해주는 게 좋음
resolv.conf
파일 수정
nameserver
: 내가 사용할 도메인서버 IP 주소 (리눅스는 최대 3개까지 인식 가능)
search
: 도메인 명을 지정 (대부분 호스트명과 도메인명을 함께 사용하나, 특별하게 호스트명만 사용되었을 때 사용하게 될 기본 도메인 명)
[root@localhost ~]
nameserver 210.94.0.73
nameserver 210.220.163.82
nameserver 192.168.1.999
search localdomain.com
Generated by NetworkManager
: 네트워크를 재시작하면 NM(NetworkManager)에 의해 이 파일이 바뀌기 때문에 초기화 될 수 있음
- 네트워크를 재시작하기 전에
chattr +i /etc/resolv.conf
명령어 수행
- 리부팅 시에
resolv.conf
파일이 초기화 되는데, write(쓰기-편집)를 못하게 보호하는 명령어
- 해제는
chattr -i /etc/resolv.conf
- 이후 네트워크를 재시작하여 적용 :
systemctl restart network
또는 service network restart
- 재시작 후에도 여전히
/etc/resolv.conf
파일이 초기화 되지 않고 살아있는 것 확인
🔶 업데이트
- 현재 설치되어있는 전체 패키지와 커널을 업그레이드
- 보안을 위해 하는 부분으로 아무것도 설치되어 있지 않는 상태에서 하는 것을 권고
- 이미 돌아가고 있는 서버에서 하게 되면 부팅 실패나 장애 발생 가능성 있음
- 설치가 완료될 경우 새로 설치된 것과 업데이트한 패키지가 리스트에 나오게 됨
[root@localhost ~]
Last metadata expiration check: 2:16:12 ago on Wed 20 Mar 2024 03:20:24 PM KST.
Dependencies resolved.
=============================================================================================================================================================
Package Architecture Version Repository Size
=============================================================================================================================================================
Installing:
kernel x86_64 5.14.0-430.el9 baseos 44 k
Upgrading:
NetworkManager x86_64 1:1.47.2-1.el9 baseos 2.3 M
Transaction Summary
=============================================================================================================================================================
Install 5 Packages
Upgrade 41 Packages
Total download size: 147 M
Is this ok [y/N]: y
Downloading Packages:
(1/46): kernel-5.14.0-430.el9.x86_64.rpm 0% [ ] --- B/s | 0 B --:-- ETA
(46/46): kernel-devel-5.14.0-430.el9.x86_64.rpm 973 kB/s | 16 MB 00:16
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 5.3 MB/s | 147 MB 00:27
CentOS Stream 9 - BaseOS 1.6 MB/s | 1.6 kB 00:00
Importing GPG key 0x8483C65D:
Userid : "CentOS (CentOS Official Signing Key) <security@centos.org>"
Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Is this ok [y/N]: y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Running scriptlet: selinux-policy-targeted-38.1.35-2.el9.noarch 1/1
Preparing : 1/1
Upgrading : selinux-policy-38.1.35-2.el9.noarch 1/87
Running scriptlet: selinux-policy-38.1.35-2.el9.noarch 1/87
Running scriptlet: container-selinux-3:2.230.0-1.el9.noarch 87/87
Running scriptlet: tzdata-2024a-1.el9.noarch 87/87
🔶 selinux 비활성화
- 일종의 보안정책으로 모든 프로세스나 특정 객체에 대하여 관리 규정을 지을 수 있음
- 기본적으로 활성(enforcing)되어 있음 > 서버 운영 중 네트워크 방화벽 및 특정 프로세스가 막히거나 구동이 되지 않는 상황이 발생할 수 있음
- 비활성(disabled) 적용 후 재부팅하여 방지할 수 있음
[root@localhost ~]
SELINUX=disabled
🔶 IPTABLES 방화벽 사용 (🚫Firewall 사용 시에는 생략)
- CentOS 7부터는
iptables
를 사용하지 않고 Firewall
방식을 도입
- 때문에
/etc/sysconfig/iptables
파일이 존재하지 않음
- 기존
iptables
를 사용하는 경우에만 아래 내용 진행
- systemd 기반으로 작동되기 때문에 systemctl 명령어 이용해야 함
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
2-5. CentOS 패키지 확장
[root@localhost /]
repo id repo name
appstream CentOS Stream 9 - AppStream
baseos CentOS Stream 9 - BaseOS
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
epel-next Extra Packages for Enterprise Linux 9 - Next - x86_64
extras-common CentOS Stream 9 - Extras packages
- Docker 대신 Podman 설치 (RedHat 기준)
- 패키지 확장을 위해 HDD 파티션 작업 선행 > LVM 으로 컨테이너, VM, DB 공간 확보
- /vm1 : 테스트용 가상 머신 설치
- /vm2 : 컨테이너 설치
- /cargo1, /cargo2 : DBMS 사용자 테이블 공간
- 남아있는 공간은 재분배
3. 원격 데스크톱 연결
3-1. xrdp를 통해 원격 데스크톱 연결 (Windows -> CentOS)
- 참고 : 원격 데스크톱으로 연결하는 방법 / firewall-cmd 명령어로 방화벽 관리하기
- RDP(Remote Desktop Protocol, 원격 데스크톱 프로토콜)
- 터미널 서버와 터미널 서버 클라이언트 간의 통신에 사용
- TCP 내에서 캡슐화되고 암호화되어 정보 전달
- xrdp
- 리눅스 시스템에서 원격 데스크톱 접속을 제공하는 오픈 소스 프로젝트 (리눅스 서버를 원격으로 관리할 때 사용)
- xrdp는 RDP를 사용하여 원격 클라이언트가 리눅스 시스템에 접속하여 GUI를 사용할 수 있도록 함
🔶 기본 환경 설치
[root@localhost ~]
Last metadata expiration check: 3:32:45 ago on Thu 21 Mar 2024 05:35:46 AM KST.
Dependencies resolved.
Nothing to do.
Complete!
[root@localhost ~]
Last metadata expiration check: 3:32:52 ago on Thu 21 Mar 2024 05:35:46 AM KST.
Dependencies resolved.
Nothing to do.
Complete!
$ yum install -y epel-release
Last metadata expiration check: 3:32:59 ago on Thu 21 Mar 2024 05:35:46 AM KST.
Dependencies resolved.
=============================================================================================================================================================
Package Architecture Version Repository Size
=============================================================================================================================================================
Installing:
epel-release noarch 9-7.el9 extras-common 19 k
Installing weak dependencies:
epel-next-release noarch 9-7.el9 extras-common 8.1 k
Complete!
$ yum install -y xrdp tigervnc-server
Extra Packages for Enterprise Linux 9 - x86_64 6.0 MB/s | 21 MB 00:03
Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64 335 B/s | 2.5 kB 00:07
Extra Packages for Enterprise Linux 9 - Next - x86_64 487 kB/s | 1.4 MB 00:02
Last metadata expiration check: 0:00:01 ago on Thu 21 Mar 2024 09:09:15 AM KST.
Dependencies resolved.
=============================================================================================================================================================
Package Architecture Version Repository Size
=============================================================================================================================================================
Installing:
tigervnc-server x86_64 1.13.1-8.el9 appstream 224 k
xrdp x86_64 1:0.9.24-1.el9 epel 459 k
Complete!
🔶 3389 Port 상시 허용
- 방화벽에 3389 Port를 상시 허용으로 등록 및 재실행
[root@localhost ~]
success
[root@localhost ~]
success
[root@localhost ~]
3389/tcp
🔶 xrdp 서비스 등록 및 구동 확인
[root@localhost ~]
Created symlink /etc/systemd/system/multi-user.target.wants/xrdp.service → /usr/lib/systemd/system/xrdp.service.
[root@localhost ~]
[root@localhost ~]
● xrdp.service - xrdp daemon
Loaded: loaded (/usr/lib/systemd/system/xrdp.service; enabled; preset: disabled)
Active: active (running) since Thu 2024-03-21 09:41:57 KST; 6s ago
Docs: man:xrdp(8)
man:xrdp.ini(5)
Main PID: 345161 (xrdp)
Tasks: 1 (limit: 202223)
Memory: 1.0M
CPU: 4ms
CGroup: /system.slice/xrdp.service
└─345161 /usr/sbin/xrdp --nodaemon
Mar 21 09:41:57 localhost.localdomain systemd[1]: Started xrdp daemon.
Mar 21 09:41:57 localhost.localdomain xrdp[345161]: [INFO ] starting xrdp with pid 345161
Mar 21 09:41:57 localhost.localdomain xrdp[345161]: [INFO ] address [0.0.0.0] port [3389] mode 1
Mar 21 09:41:57 localhost.localdomain xrdp[345161]: [INFO ] listening to port 3389 on 0.0.0.0
Mar 21 09:41:57 localhost.localdomain xrdp[345161]: [INFO ] xrdp_listen_pp done
🔶 포트 상태 및 접속할 IP 확인
[root@localhost ~]
tcp6 0 0 :::3389 :::* LISTEN 345161/xrdp
[root@localhost ~]
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.999 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::dabb:c1ff:fe4d:c443 prefixlen 64 scopeid 0x20<link>
ether d8:bb:c1:4d:c4:43 txqueuelen 1000 (Ethernet)
RX packets 1140040 bytes 860949800 (821.0 MiB)
RX errors 0 dropped 110087 overruns 0 frame 0
TX packets 201157 bytes 16165519 (15.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16 memory 0xa1200000-a1220000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 65 bytes 5351 (5.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 65 bytes 5351 (5.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
🔶 firewall public zone 상태 확인
[root@localhost ~]
public (active)
target: default
icmp-block-inversion: no
interfaces: eno1
sources:
services: cockpit dhcpv6-client ssh
ports: 3389/tcp
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
3-2. Windows 에서 CentOS 원격 연결
- 시작 > 원격 데스크톱 연결 >
192.168.1.999
사용자 이름
등록하지 않고 바로 연결할 것
- root 계정 접속은 안되도록 설정되어 있음
🔶 root 계정 접속 허용/해제
[root@localhost ssh]
[root@localhost ssh]
PermitRootLogin
: root 계정으로 로그인 시 허용 여부를 설정하는 값
(...)
PermitRootLogin yes
(...)
PermitRootLogin
설정 값을 변경 후에도 바로 root 계정 로그인 제한이 되진 않음
- 제한 설정을 적용하기 위해서는 sshd를 재시작
[root@localhost ssh]
3-3. 서버 주소 수동 변경
- 설치 시 자동으로 할당 받은 주소를 수동으로 재지정
- 원격 데스크톱 > 상단 네트워크 아이콘 > Settings
- Network > Wired >
Connected - 100 Mb/s
켜기 및 설정 버튼 클릭
IPv4
탭 클릭하여 고정 IP 설정
- IPv4 Method :
Manual (수동)
- Address : 주소, 넷마스크, 게이트웨이 주소 입력 (
192.168.1.999
, 255.255.255.0
, 192.168.1.1
)
- DNS > Automatic 해제
- DNS :
210.94.0.73, 210.220.163.82
(여러 개의 DNS를 입력할 경우 쉼표로 구분)
[root@localhost ~]
nameserver 210.94.0.73
nameserver 210.220.163.82
- 상단의 적용 버튼 클릭 (터미널의
systemctl restart network
와 동일한 효과)