728x90

LAMP 구축


패키지 설치

- 아파치 웹 서버, MariaDB, PHP 설치


# 패키지 설치
# httpd, mariadb, mariadb-server php php-mysqlnd

yum -y install httpd mariadb-server mariadb php php-mysqlnd

 

설치가 성공적으로 완료됨

 

참고: 아파치 웹 서버 관련 주요 디렉토리(p.285)

경로 설명
/var/www 웹 페이지 콘텐츠 기본 디렉토리 위치
/etc/httpd/conf 웹 서버 주 설정 파일인 httpd.conf 파일 위치
/etc/httpd/conf.d 웹 서버의 추가 설정 파일 위치
/etc/httpd/conf.modules.d 웹 서버와 함께 설치된 모듈 설정 관련 파일 위치
/usr/share/httpd 테스트 페이지, 에러 페이지 등 기본 콘텐츠 위치
/usr/share/doc/httpd 웹 서버 관련 문서 파일 위치

 

 

서비스 시작 및 활성화


# httpd, mariadb 서비스 시작

systemctl start httpd
systemctl start mariadb

# 재부팅 후에도 서비스가 실행되도록 설정

systemctl enable httpd
systemctl enable mariadb

 

 

방화벽 설정


# http, https 방화벽 열기

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

 

사용자 페이지 생성 및 테스트


Apache


- 웹 브라저에서 IP 입력 후 아파치 기본 웹 페이지 확인

 

 

 

php


- php 웹 페이지 생성: /var/www/html 디렉토리에서 phpinfo.php 파일 생성

 

# /var/www/html 디렉토리로 이동
cd /var/www/html

# phpinfo.php 파일 생성
touch phpinfo.php
vi phpinfo.php

# 아래 소스 코드 입력
<?php phpinfo() ?>

 

시스템 정보 확인 코드

 

php 웹 페이지 확인

 



웹 사이트 구축-XE1


 

XE 다운로드 및 DB 구성


XE Core 다운로드


 

php-gd 설치


yum -y install php-gd.x86_64

 

httpd.conf 파일 설정


vi /etc/httpd/conf/httpd.conf

151   AllowOverride All       ->.htaccess

 

xe.zip 파일 압축 해제


# /var/www/html 디렉토리에서 압축 풀기

mv xe.zip /var/www/html
unzip xe.zip
chmod 707 xe
systemctl restart httpd

 

xe1에서 사용할 db 구축


# db 접속

mysql -u root -p

 

데이터베이스 계정 생성


# xeDB라는 데이터베이스에 슈퍼 권한을 가진 XE 계정 생성

GRANT ALL PRIVILEGES ON xeDB.* TO XE@localhost IDENTIFIED BY '1234';

 

생성한 계정으로 데이터베이스 로그인


mysql -u XE -p

 

 

데이터베이스 생성


CREATE DATABASE xeDB;

 

 

 

XE 설치


웹 브라우저에서 접속하여 XE 설치 진행

192.168.56.101/xe/index.php


 

한국어 선택

 

동의 후 다음

 

모두 설치 가능으로 되어있는지 확인

 

mysql 선택

 

앞에서 생성한 DB 정보 입력

 

서버 시간 설정

 

임의의 값 입력

 

XE가 설치 성공

192.168.56.101/xe 접속


Welcome Page 확인

 

 

728x90
728x90

관계형 데이터베이스


관계형 데이터베이스란


- Key-Value의 관계를 테이블 형식으로 구성하여 데이터를 저장하는 데이터베이스

 

 

데이터베이스 구성


- 데이터베이스, 테이블로 구성

- 데이터베이스: 다수의 테이블

- 테이블: 필드(칼럼) + 레코드(로우)

 

[출처]&nbsp;http://www.tcpschool.com/mysql/mysql_intro_relationalDB

 

 

데이터베이스 설치


 

mysql 설치 

Server 1에서 작업


###mysql 설치###

# 충돌 방지를 위해 기존 파일 삭제
yum -y remove mariadb-libs

# Maria로 시작하는 모든 파일 설치(옛날 버전으로 설치)
yum -y localinstall Maria*

# 서비스 재시작(옛날 버전으로 설치했으므로 서비스 이름은 mysql)
systemctl restart mysql

# 설치가 제대로 되었는지 확인
chkconfig mysql on

###MariaDB 설치###

yum -y install mariadb mariadb-server
systemctl restart mariadb
systemctl enable mariadb

 

 

MariaDB 설치

Client 2에서 작업


yum install -y mariadb

 

* 에러 확인: Server1의 root 계정에서 원격 로그인이 허용되지 않음

 

 

* 해결: Server1의 mysql 설정 변경 필요

# user 테이블 사용
USE mysql;
USE user;

# user 테이블에서 user와 host 컬럼을 조회할 때 user 컬럼에서 null 값이 아닌 것만 출력

SELECT user,host FROM user WHERE user NOT LIKE '';


# 10.0.2.4가 접속할 수 있도록 허용
# % = 리눅스의 *와 같은 의미

GRANT ALL PRIVILEGES ON *.* TO test@'10.0.2.%' IDENTIFIED BY '1234';

 

Server 1에서 설정

 

Client 2에서 Server 1으로 원격 접속 확인

 

 

 

 

방화벽 설정 후 mysql 실행


# 방화벽 설정
firewall-cmd --permanent --add-service=mysql
firewall-cmd --reload

# mysql이 제대로 실행되는지 확인
mysql -u root -p

 

 

 

데이터베이스 설정


사용자 패스워드 설정


# root 사용자 패스워드 설정
mysqladmin -u root password '1234'

 

 

 

 

데이터베이스 관리


데이터 정의 언어 (DDL)

CREATE(생성), ALERT(수정), DROP(삭제)

 

- 데이터베이스 또는 테이블의 구조 정의


데이터베이스 조회

SHOW DATABASES;


# 데이터베이스 조회

SHOW DATABASES;

 

 

 

데이터베이스 생성

CREATE DATABSE [데이터베이스 이름];


# member_db 이름으로 데이터베이스 생성

CREATE DATABASE member_db;

 

 

 

데이터베이스 삭제

DROP DATABASE [데이터베이스 이름];


# test 이름의 데이터베이스 삭제

DROP DATABASE test;

 

 

 

데이터베이스 사용

USE [데이터베이스 이름];


# member_db 데이터베이스 사용

USE member_db;

 

 

 

테이블 생성

CREATE TABLE [테이블 이름];


CREATE TABLE member (
    -> id VARCHAR(12) NOT NULL PRIMARY KEY,			
    -> name NVARCHAR(5),
    -> age INT,
    -> address NVARCHAR(5));

 

member
id name age address
1~12 자리 문자열 1~5 문자열 숫자 한글

 

 

 

테이블 삭제

DROP TABLE [테이블 이름];


# member 테이블 삭제

DROP TABLE member;

 

테이블 구조 출력

EXPLAIN [테이블이름];


# member 테이블 구조 출력

EXPLAIN member;

 

 

데이터 조작 언어 (DML)

SELECT(조회), INSERT(삽입), UPDATE(수정), DELETE(삭제)

 

- 테이블에 존재하는 데이터를 조회, 삽입, 수정, 삭제


레코드 삽입

INSERT INTO [테이블 이름] [(필드 이름1, 필드 이름2, ...)] VALUES [(value1, value2, ...)];


# 테이블에 레코드 삽입

 

 

레코드 조회

SELECT [필드 이름1, 필드 이름2...] FROM [테이블 이름] [WHERE 조건];


# member 테이블의 모든 것을 조회
SELECT * FROM member;

# member 테이블에서 id의 값이 kim인 레코드 조회
SELECT * FROM member WHERE id = 'kim';

# id가 kim인 사람의 나이는?
SELECT age FROM member WHERE id = 'kim';

 

 

 

레코드 수정

UPDATE 테이블이름 SET 필드이름1=수정값, 필드이름2=수정값.... WHERE <필터링조건>;


# kim의 나이를 50으로 수정

UPDATE member SET age=50 WHERE id = 'kim';

 

 

레코드 삭제

DELETE FROM 테이블이름 WHERE <필터링 조건>;


# member 테이블에서 address 값이 seoul인 레코드 삭제

DELETE FROM member WHERE address = 'seoul';

728x90
728x90

SCP란


- Secure Copy 약자

- ssh 원격 접속 프로토콜 기반

- 파일과 디렉토리를 원격지로 복사할 때 사용하는 파일 전송 프로토콜

 

 

 

단일 파일 복사


scp [옵션] [파일명] [사용자 이름]@[원격지_ip]:[복사할 경로]

 

# 단일 파일 복사
# MariaDB-...client.rpm 파일을 192.168.56.101의 root 사용자의 /root/Desktop 경로로 복사 
scp MariaDB-10.0.15-centos7_0-x86_64-client.rpm root@192.168.56.101:/root/Desktop

 

단일 파일 복사

 

복수 파일 복사


scp [옵션] [파일명1] [파일명2] [사용자 이름]@[원격지_ip]:[복사할 경로]

 

# 복수 파일 복사
scp MariaDB-...-client.rpm MariaDB-...-server.rpm root@192.168.56.101:/root/Desktop

 

 

 

디렉토리와 하위 파일 모두 복사: -r 옵션


scp [옵션] [디렉토리 이름] [사용자 이름]@[원격지_ip]:[복사할 경로]

 

# 디렉토리 복사
# MariaDB 이름의 디렉토리를 192.168.56.101의 root 사용자의  /root/Desktop 경로로 복사
scp -r MariaDB root@192.168.56.101:/root/Desktop

 

디렉토리 복사

728x90
728x90

SELinux란


SELinux란

- 리눅스 시스템의 보안을 강화해주는 커널 모듈

- 강제 접근 제어 모델MAC 모델을 사용하여 시스템의 보안을 강화하는 리눅스 커널 모듈


접근 제어 모델

주체: 시스템의 자원에 접근하는 프로세스 또는 사용자

객체: 파일 또는 포트와 같은 시스템의 자원 의미

 

1. DAC (Discretionary Access Control)

- 임의 접근 제어 모델

- 사용자가 임의로 객체에게 권한을 부여하여 객체에 대한 접근 제어

 

2. MAC (Mandatory Access Control)

- 강제 접근 제어 모델

- 주체와 객체에 부여된 보안 레이블과 정책 허용 스위치에 의해 접근 제어

 

3. RBAC (Role Based Access Control)

- 역할 기반 접근 제어 모델

- 역할: 다수의 권한을 묶어 놓은 그룹

- 관리자는 사용자에게 역할을 부여하여 권한을 제어함


SELinux 동작 원리

- MAC 모델로 보안 레이블과 정책 허용 스위치 사용

- 보안 레이블: 컨텍스트

- 정책 허용 스위치: 부울

- SELinux 활성화 > 모든 프로세스와 파일에 컨텍스트가 부여됨 > 프로세스가 파일에 접근할 때 프로세스의 컨텍스트가 파일의 컨텍스트에 접근할 수 있는 정책이 설정되어 있는지 확인

 


SELinux 모드


SELinux 모드 종류

Disabled 모드

- SELinux 커널 모듈을 메모리에 로드 X

- SELinux 비활성화 상태

- DAC 모델 적용 > 파일에 부여된 권한 기준으로 접근 제어

 

Enforcing 모드

- SELinux 커널 모듈을 메모리에 로드 O

- SELinux 정책 강제, 필요 시 차단

- SELinux 활성화 상태 > SELinux

- MAC 모델 적용 > 파일 접근 권한, 컨텍스트, 부울 등을 확인하여 접근 제어

Permissive 모드

- SELinux 커널 모듈을 메모리에 로드 O

- SELinux 정책 강제 X > 차단 X, 정책 위반 시 경고 메시지가 로그에 기록

- SELinux 활성화 상태

 


SELinux 모드 설정

getenforce

- 현재 시스템에 적용된 SELinux 모드 확인

 

setenforce

- 시스템 운영 중 SELinux 모드 전환

- Disabled 모드로 전환 불가

- Permissive(0) 또는 Enforcing(1) 전환  


SELinux 설정 파일

- /etc/selinux/config: 영구 설정

- SELINUX 속성: SELinux 모드 영구 저장

- SELINUXTYPE 속성: SELinux 정책 유형 지정

 


SELinux 컨텍스트


컨텍스트란

- SELinux 활성화 시 모든 프로세스와 파일에 컨텍스트 부여

- 프로세스가 파일에 접근할 때 비교하는 요소

- 컨텍스트 확인 명령: ps axZ

 

확인

여기에서 세 번째 항목(유형 컨텍스트)의 값에 따라 접근할 수 있는 프로세스가 지정됨

ls -Z

 

변경

지정한 디렉토리 아래의 모든 파일 모두 재설정 (기본값 사용)

restorecon -Rv /var/www/html/

 

사용자가 파일에 임의로 값을 지정함 (권장하지 않음)

chcon -t admin_home_t /var/www/html/fileA

# 디렉토리에 대한 기본값 지정
semanage fcontext -a -t httpd_sys_content_t '/root/dirA(/.*)?'

 


 

SELinux 부울


SELinux 부울이란

- 프로세스와 파일 간의 컨텍스트가 연관성은 없지만 서로 접근할 필요가 있을 경우 접근을 허용하는 스위치와 같은 기능

- 스위치처럼 ON/OFF로 작동

- 시스템 운영 중에 정책의 동작 변경이 가능함

- 부울 값 확인 명령: getsebool, semanage

 

확인

semanage boolean -l | grep db

 

설정

외부의 httpd 서비스를 통해 내부(로컬)의 데이터베이스로 접근 허용

semanage boolean httpd_can_network_connect_db -m --on

 


SELinux 포트 레이블


포트 레이블이란

- 서버에서 제공하는 서비스의 표준 포트 이외의 포트를 사용하려면 포트 레이블을 적용해야 함

- 포트에 포트 레이블을 지정하지 않을 경우 클라이언트가 접근하지 못함

- 예시: httpd 서비스의 기본 포트는 80번 > 8900번 포트로 변경을 원할 경우 포트 레이블인 http_port_t를 지정해야 서비스가 정상적으로 제공됨

 

확인

semanage port -l | grep 80

 

변경

semanage port -a -t nfs_port_t 8888 -p tcp

 


SELinux 문제 해결


- SELinux가 활성화된 시스템에서 서비스를 원활하게 제공하기 위함

 

문제 해결 순서

1. Permissive 모드 전환: SELinux 설정 및 서비스 자체 구성에서 문제 확인

2. 파일의 보안 레이블 확인: 컨텍스트 유형을 변경하여 문제 해결

3. 포트 레이블 확인

4. 부울 확인: 활성화 여부 확인

728x90
728x90

DNS 서버


DNS란


1. DNS란

- Domain Name System

- IP 주소와 도메인 이름을 서로 교환해 주는 장치

- 트리 구조로 구성됨

 

2. DNS 서버란

- DNS 서비스를 제공하는 서버

- 캐시 서버와 콘텐츠 서버로 구성됨

 1) 캐시 서버: LAN 안에 있는클라이언트로부터 조회를 받아 인터넷에 조회해 주는 DNS 서버

 2) 콘텐츠 서버: 외부 호스트로부터 자신이 관리하는 도메인에 관한 조회를 받는 DNS 서버

- zone 파일: 도메인 내의 호스트 명을 관리함

 

2. 호스트 이름

- 네트워크 상의 컴퓨터 각각의 이름

 

3. 도메인 이름

- 네트워크의 범위를 지정하는 이름

 

4. 전체 도메인 네임 = FQDN(Fully Qualified Domain Name)

- 호스트 이름도메인 이름을 모두 표기한 풀 주소 이름

- 예시: www.naver.com

 

5. URL

- 특정 웹 사이트의 특정 위치까지 가는 전체 경로

- 예시: https://kimhjin.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2Fposts%2F 

 

 

DNS 동작 방식


1. DNS 구조

1) 트리 구조로 이루어짐(=계층 구조)

 

[출처] http://bc.kyobobook.co.kr/front/subscribe/detailCotents.ink?contents_no=745&orderClick=7mo

 

2) 캐시 서버와 콘텐츠 서버

 

[출처] http://bc.kyobobook.co.kr/front/subscribe/detailCotents.ink?contents_no=745&orderClick=7mo

 

 

2. DNS 조회

 

1) nslookup [옵션] [DNS 이름] [서버 IP]

- 옵션 없이 명령 실행 시 기본적으로 대화형으로 실행됨

 

출력된 4개의 IP를 이용해 네이버에 접속할 수 있음

 

- 명령의 인자로 이름과 서버를 지정하면 비대화형으로 실행됨

 

1-1) dns의 상세 정보 출력: set type=any

 

 

2) dig @[서버 ip] [옵션] [도메인 네임]

- 다른 명령에 비해 기본 출력 정보가 상세함

- 서버 주소 앞에 @를 반드시 추가해야 됨

 

 

3) host [옵션] [dns name] [dns server ip]

- 옵션에 따라 다양한 정보 조회 가능

 

 

- 옵션(-a를 주로 사용함)

 

옵션 설명
-v 상세한 정보 표시
-t 조회할 레코드 타입 지정
-a ALL의 의미, 모든 타입의 레코드 조회
-l 리스트 모드로 결과 출력

 

 

3. DNS 레코드

 

레코드 종류 의미
A, AAA 특정 호스트의 주소 (IPv4, IPv6)
CNAME 호스트의 별칭(Alias)정보
MX 메일 교환기에 대한 정보
NS 도메인의 네임 서버 정보
PTR 도메인 이름에 대한 포인터
SOA 영역의 권한 시작 정보
TXT 다양한 정보를 포함할 수 있는 텍스트 문자열

 

 

 

 

 

방화벽 관리


방화벽


- 외부 네트워크로부터 접근하는 네트워크 패킷을 차단하는 서비스

- 특정 네트워크 대역의 접근 또는 특정 서비스의 접근 등 규칙을 추가하여 관리자가 허용하거나 거절할 수 있는 정책을 설정함

- 두 가지 방화벽 서비스

 1. iptables: 네트워크 패킷 필터링 도구 중 하나, 정책 변경 시 서비스 중단

 2. firewalld: iptables의 한계와 단점을 보완하는 방화벽 서비스, 동적인 정책 변경

  - firewalld 파일 경로

    -- /usr/lib/firewalld: firewalld의 기본 구성과 관련된 파일, 대비용 파일 저장

    -- /etc/firewalld: 실제로 적용되는 설정 파일과 규칙 저장

   

 

firewall-cmd [옵션]

- CLI 도구

- GUI 도구: firewall-config


1. 상태 및 정보 확인 옵션

옵션 설명
--state firewalld 실행 상태 확인
--get-zones 사전에 정의된 영역 확인
--get-services 사전에 정의된 서비스 확인
--get-active-zones 활성화된 영역 확인
--get-default-zone 기본 영역 확인
--list-all 각 영역에 설정되어 있는 규칙 확인
--zone: 특정 영역에 설정된 규칙 확인

 

 

2. 규칙 설정 옵션

옵션 설명
--set-default-zone 기본 영역 설정
--add-interface 특정 영역에 인터페이스 연결 추가
--zone
--change-interface 영역에 연결된 인터페이스 변경
--zone
--add-source 출발지 주소 규칙 추가
--zone: 옵션을 추가하지 않으면 기본 영역으로 자동 선택
--permanent: 설정을 영구적으로 적용
--remove-source 출발지 주소 규칙 제거
* 영구 설정이 적용된 규칙은 반드시 --permanent 옵션과 함께 실행해야 제거됨
--reload 방화벽 설정을 다시 읽어들여 변경된 규칙 적용
--add-services 사전에 정의된 서비스 규칙 추가
--remove-services 사전에 정의된 서비스 규칙 제거
--list-services 각 영역에서 추가된 서비스 목록 확인
--add-port 포트 규칙 추가
--remove-port 포트 규칙 제거

 

728x90
728x90

DNS 서버 구성 1


캐싱 전용 DNS 서버 구축


1. 실습 환경

 

OS CentOS 7
IPv4 Address 10.0.2.16

 

2. BIND 설치

 

yum -y install bind bind-chroot

 

3. BIND 구성

 

vi /etc/named.conf

13 listen-on port 53 { any; };
14 listen-on-v6 port 53 { none; };

# 접속을 허용할 대상 any = 모두
21 allow-query { any; };

# 설정 값 적용
systemctl start named

# 재부팅 후에도 변경한 서비스가 적용되도록 설정 
systemctl enable named

# 방화벽 설정1
# --permanent: 설정 값 영구 적용
firewall-cmd --permanent --add-service=dns

# 또는 설정2
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp

# 설정 값 적용
firewall-cmd --reload

 

/etc/named.conf 파일 설정

 

- DNS 서버 구축이 잘 되었다면 아래와 같이 naver.com 정보를 불러옴

 

DNS 서버 구축 완료 테스트

 

 

DNS 서버 구성 2


본격적인 네임 서버 구축

- 용어 변경 사항: 슬레이브 서버 = 2차 DNS 서버 = 세컨더리 DNS 서버


1. 웹 서비스 설치: httpd

 

# 서비스 설치
yum install -y httpd

# 서비스 시작
systemctl start httpd

# 재부팅 후에도 서비스가 시작하도록 설정
systemctl enable httpd

# 방화벽 설정
firewall-cmd --permanent --add-service=http
firewall-cmd --reload

# index.html 파일 구성
vi /var/www/html/index.html
<h1>
<marquee> hi centos </marquee>

 

- 서버의 IP로 접속하면 설정한 index.html 파일이 적용된 것을 확인할 수 있음

 

 

2. 영역(Zone) 구성

 

1) /etc/named.conf 파일 수정

- DNS 서버의 연결 정보와 함께 BIND를 통해 서비스할 영역에 대한 설정을 저장함

 

# /etc/named.conf 파일 수정
vi /etc/named.conf 

# linux.com 영역에 대한 정방향 조회에 대한 설정

zone "linux.com" IN {
        type master;			# 영역의 종류: master (DNS 서비스에서 도메인 영역을 직접 관리할 경우) 
        file "linux.com.db";		# 영역의 파일 이름
        allow-update { none; };		
};

# 설정 파일에 대한 유효성 검증
named-checkconf

 

/etc/named.conf

 

2) 영역 파일(zone file) 생성: /var/named/linux.com.db

- 파일 위치: /var/named 디렉토리

- 도메인에 대한 정보나 도메인 내의 호스트에 대한 정보가 있는 파일

- BIND는 이 영역 파일을 참고하여 DNS 요청에 응답함

 

# 디렉토리 이동
cd /var/named

# 기존의 파일 복사
cp named.localhost linux.com.db

# 복사한 파일 설정
vi linux.com.db

# 디렉토리 권한 변경
chmod -R 754 /var/named

 

- 정방향 조회 영역 파일 생성

 

/var/named/linux.com.db 파일 설정

 

3) 영역 파일 및 설정 파일 확인

 

# 설정 파일에 대한 유효성 검증
named-checkconf /etc/named.conf

# 영역 파일에 대한 유효성 검증
named-checkzone linux.coom linux.com.db

# named 서비스 재시작
systemctl restart named
systemctl status named

 

문법 체크 OK이면 설정 파일에 문제가 없음

 

- named 서비스 동작 확인

 

DNS 서버 구축이 성공적으로 되었음을 확인할 수 있음

 

3. 클라이언트에서 DNS 서버 구축 확인

 

vi /etc/resolv.conf

nameserver 10.0.2.16

 

/etc/resolv.conf 파일 수정

 

- 웹 브라우저에서 dns 서버 ip 주소를 입력하여 dns 서버에 접속되는지 확인

 

DNS 서버 구축이 성공적으로 완료되었음을 확인할 수 있음

728x90
728x90

네트워크 설정 실습


동적 연결 생성

- dhcp 프로파일 생성


1. dhcp 연결 생성 및 활성화

nmcli con add con-name dhcp type ethernet ifname enp0s3
nmcli con reload
nmcli con up dhcp

 

dhcp가 적용됨

 

 

정적 연결 생성

- static 프로파일 생성


1. 수정 사항

enp0s3 인터페이스
10.0.2.17 IP 주소
255.255.255.0 넷마스크
10.0.2.255 브로드캐스트 주소
10.0.2.1 게이트웨이 주소

 

2. static 생성 후 활성화

nmcli con add con-name static type ethernet ifname enp0s3 ip4 10.0.2.17/24 gw4 10.0.2.1
nmcli con reload
nmcli con up static

 

static이 적용됨

 

static 적용 후 변경된 ip 주소를 확인할 수 있음

 

3. static 비활성화 후 연결 삭제

 

nmcli con down static
nmcli con del static

 

dhcp 연결 삭제 후 dhcp가 자동으로 활성화됨

 

4. dhcp 연결을 정적 연결로 수정 및 활성화

 

nmcli con mod dhcp connection.id static ipv4.method manual ipv4.addresses 10.0.2.17/24 ipv4.gateway 10.0.2.1 
nmcli con reload
nmcli con up static

 

dhcp 연결을 static으로 수정하여 ip가 10.0.2.17로 변경된 것 확인

 

 

ifcfg-dhcp

- 추가 실습: 내부 설정을 다시 dhcp로 변경


 

728x90
728x90

네트워크 설정 파일


/etc/sysconfig/network-scripts/ifcfg-[인터페이스명]

- 네트워크 설정 파일(프로파일, 연결, 연결 파일) 생성하여 네트워크 설정


네트워크 설정 파일을 이용한 ip 주소 변경

inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
10.0.2.1

cd /etc/sysconfig/network-scripts/
vi ifcfg-enp0s3

TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
NAME="enp0s3"
DEVICE="enp0s3"
ONBOOT="yes"
IPADDR=10.0.2.16
NETMASK=255.255.255.0
GATEWAY=10.0.2.1
DNS1=8.8.8.8

nmcli con reload
nmcli con up enp0s3

 

1. enp0s3 인터페이스 정보 확인 - ip 주소, 넷마스크

 

2. enp0s3 게이트웨이 주소 확인

 

3. 네트워크 설정 파일 열기

 /etc/sysconfig/network-scripts/ifcfg-enp0s3

 

4. 네트워크 설정 파일 수정 및 저장

 

5. 수정 사항 적용 및 확인

변경 값 갱신 및 적용
변경된 ip 주소 확인

 

 

DNS 설정


/etc/resolv.conf

- DNS 설정 파일


nmcli con mod enp0s3 ipv4.dns 8.8.8.8
nmcli con reload
nmcli con up enp0s3

 

 

 

 

호스트 네임 설정


# 호스트 네임 확인
hostname

# 호스트 네임 변경
# hostname [이름]  

# 재부팅 후에도 변경한 호스트 네임이 적용됨

# 부팅없이 바로 적용
hostnamectl set-hostname [이름]

# 부팅 후 변경 사항 적용
vi /etc/hostname

 

호스트 네임 바꾸기

 

hostname 파일 내용

 

 

728x90

+ Recent posts