DAY_30 서버 교체해보기

2021. 2. 4. 18:18

hosts 파일

/etc/hosts

%systemroot%\system32\drivers\etc\hosts

 

관리자 권한으로 실행

 

192.168.8.3 sbs.com

192.168.8.3 www.sbs.com

192.168.8.3 kbs.com

192.168.8.3 www.kbs.com

192.168.8.3 mbc.com

192.168.8.3 www.mbc.com

 

더보기

리눅스에서 변수에 값을 저장하는 형식 : 변수명=값

리눅스에서 변수에 값을 출력하는 형식 : echo $변수명

[user1@server1 ~]$ a=1

[user1@server1 ~]$ echo $a

1

 

 

윈도우에서 변수에 값을 저장하는 형식 : set 변수명=값

윈도우에서 변수에 값을 출력하는 형식 : echo %변수명%

%변수명%

C:\>set a=1

 

C:\>echo %a%

1

 

C:\>echo %systemroot%

C:\Windows

과부화가 걸릴 수 있다.
이제 이렇게 설정할 것이다.


실습 > 두 개의 서버 바꾸기

 

현재 상태

-- 실습 순서--

1. IP 주소 확인

2. 헷갈리니까 /etc/issue 파일 수정

3. 서버 종료

4. VMware 이름 변경

5. NIC(랜카드) 변경

6. 서버 재부팅

7. 네트워크 설정

 

----------------

 

1. IP 주소 확인

- 기존에 사용하던 IP주소를 모두 확인한다. 그리고 그 ip주소와 vmware 이름을 모두 확인한다.

# ip a

 

2. 실수를 줄이기 위해서 /etc/issue 파일 수정

# vi /etc/issue

+---------------+

| 192.168.1.101 |

+---------------+

▲ 위에처럼 로그인 전에 나올 수 있도록 한다. 192.168.8.3 도 설정해 준다.

 

3. 서버 종료 (설정을 바꾸기 위해서 서버를 종료해준다.)

# init 0

 

4. vmware이름 변경

- SERVER1(Firewall)

- SERVER2(web#1)

 

5.  NIC 카드 추가/삭제

부팅 전에 설정에서 

첫번째 NIC  -> VMnet8 수정

두번째 NIC 추가 -> VMnet1 설정

 

이전에 server2에서 랜카드 하나 추가 후 connetction 바꿔주기

 

이전에 server1이었던것에서 랜카드 하나 삭제 후 vmnet1로 바꿔주기

6. 서버 두개 다 부팅

 

7. 네트워크 설정

# nmtui

 

 

 

8. 서버 로그인

putty를 이용해서 서버에 로그인한다.

putty로 접속 시 서버가 변경되었으므로 서버의 공개키도 변경되었기 때문에 security alert 창이 떠야한다.

 

9. 방화벽 설정 

- 설정을 복사하고 scp를 위해서 이전 설정이었던 nat을 초기화 시킨다.

web1# iptables-save > /etc/sysconfig/iptables

web1# iptables -t nat -F

web1# scp -P2021 /etc/sysconfig/iptables firewall의 사용자@192.168.8.101:

 

firewall# iptables-save > /etc/sysconfig/iptables

firewall# scp -P2021 /etc/sysconfig/iptables web1의 사용자@192.168.8.3:

 

만약 이전에 firewall에서 permitlocalcommand 를 설정해 놨다면 설정을 no로 바꿔야한다.

firewall# vi /etc/ssh/sshd_config

server1에서 복사한 후에 아래 명령어로 실행한다.

web1# cat ~사용자/iptables > /etc/sysconfig/iptables

web1# rm -f ~limanet/iptables

 

80번 웹 포트를 추가한다.

web1# vi /etc/sysconfig/iptables

 

web1# iptables-restore /etc/sysconfig/iptables

web1# iptables-nL

더보기

Chain INPUT (policy ACCEPT)

target prot opt source destination

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2021

DROP all -- 0.0.0.0/0 0.0.0.0/0

 

Chain FORWARD (policy ACCEPT)

target prot opt source destination

 

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

 

커널 패킷 포워딩을 비활성화 시킨다.

web1# vi /etc/sysctl.conf

net.ipv4.ip_forward = 1 <-- 삭제

web1# sysctl -p

web1# echo 0 > /proc/sys/net/ipv4/ip_forward

web1# cat /proc/sys/net/ipv4/ip_forward

0

 

hosts 파일을 수정한다.

web1# vi /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.8.101 server2.linuxmaster.co.kr

192.168.8.101 sbs.com www.sbs.com

192.168.8.101 kbs.com www.kbs.com

192.168.8.101 mbc.com www.mbc.com

 

 

외부로 네트워크가 되는지 확인한다.

web1# ping -c 3 8.8.8.8


Server2 -> Server1(Firewall) 로 변경 예정

 

 

 


Server3(DB서버) 추가해주기

 

DB 서버에서 bind-address는 삭제해야한다.

db1# vi /etc/my.cnf

bind-address가 있으면 local에 사용자와 클라이언트가 다 있을때 이걸 바꿔줘야한다.

 

그래야지 web에서 들어올 수 있다.

 

 

 

 

다 설치 후 web 사용자가 있는 server2에서 

web1# mysql -h 192.168.1.102 -u sbsuser -p sbsuser 

web1# 

그누보드 설치하기

그누보드 설치할때 db host 잘 보고 설치하기 192.168.1.102로!!

 

그리고 mkdir로 권한 777인 data 디렉터리 bbs안에 만들어주기!!!

 

 

그누보드가 잘 설치 되었다면 db 서버에서 sbsuser로 들어간다음 확인하기!!

 

 

 

 


CentOS 7.x 에서 간단하게 tomcat 설치하기

 

server2에서 tomcat 설치하기 

# yum -y install java-1.8.0-openjdk* tomcat  tomcat-webapps

# service tomcat start

# cd /usr/share/tomcat/webapps/ROOT

# vi hello.jsp

<%@ page contentType="text/html; charset=utf-8" %>
<%! String str = "Hello World! JSP!"; %>
<html>
<head>
 <title>::: <%=str%> :::</title>
</head>
<body>
 <center>
 <h1> JSP 세계에 오신 것을 환영합니다.</h1>
 <P>
 <% out.println(str); %>
 </center>
</body>
</html>

 

http://192.168.8.101:8080/hello.jsp로 테스트 해보기

 

apache 기본 웹 디렉터리 tomcat 기본 웹 디렉터리
/var/www/html /usr/share/tomcat/webapps/ROOT

 

 


수업 시간

더보기

hosts 파일

/etc/hosts

%systemroot%\system32\drivers\etc\hosts

 

관리자 권한으로 실행

 

192.168.8.3 sbs.com

192.168.8.3 www.sbs.com

192.168.8.3 kbs.com

192.168.8.3 www.kbs.com

192.168.8.3 mbc.com

192.168.8.3 www.mbc.com

 

 

리눅스에서 변수에 값을 저장하는 형식 : 변수명=값

리눅스에서 변수에 값을 출력하는 형식 : echo $변수명

$ a=1

$ echo $a

1

 

윈도우에서 변수에 값을 저장하는 형식 : set 변수명=값

윈도우에서 변수에 값을 출력하는 형식 : echo %변수명%

C:\>set a=1

C:\>echo %a%

1

 

 

C:\>echo %systemroot%

C:\Windows

 

https://cafe.naver.com/linuxmasternet/339

 

 

네트워크 구성도

 

실습> 서버 교체작업

 

server1 : 192.168.8.3 --> server2 : 192.168.1.101

server2 : 192.168.1.101 --> server1 : 192.168.8.3

 

192.168.8.1 : Host OS

DNS : 168.126.63.1 공통

192.168.8.3 : server1 (네트워크 F/W)

192.168.1.101 : server2 내부망 WEB서버

 

+-- ens33

|

| +-- ens33 192.168.8.101

| |

| | +-- ens37 +-- ens33

| | | |

외부망 +---+[server1]+---- 내부망 --------+[server2]

| | F/W | | WEB Server

| | | |

| | | 192.168.1.101 (GateWay : 192.168.1.254)

| | 192.168.1.254

| |

| 192.168.8.3 (GateWay : 192.168.8.2)

|

192.168.8.2

 

 

 

NIC 카드 추가

IP주소 변경

방화벽 룰 변경

 

Server1 -> Server2(WEB#1) 로 변경 예정

 

1. IP 주소 확인

[root@server1 ~]# ip a

ens33 192.168.8.3

 

2. /etc/issue 파일 수정

[root@server1 ~]# vi /etc/issue

+--------------+

| 192.168.8.3 |

+--------------+

 

3. 서버 종료

[root@server1 ~]# init 0

 

4. VMware 이름 변경

Server2(WEB#1)

 

5. NIC(랜카드) 변경

첫 번째 NIC(랜카드) -> VMnet1 수정

두 번째 NIC(랜카드) 삭제

 

6. 서버 재부팅

 

7. 네트워크 설정

[root@server1 ~]# vi /etc/issue

+----------------+

| 192.168.1.101 |

+----------------+

 

[root@server1 ~]# nmtui

ens37 삭제

ens33 :

192.168.8.3/24 -> 192.168.1.101/24 변경

192.168.8.101/24 -> 삭제

G/W : 192.168.8.2 -> 192.168.1.254 변경

DNS : 168.126.63.1

 

호스트명 : server2.linuxmaster.co.kr

 

[root@server1 ~]# reboot

 

부팅 후

+----------------+

| 192.168.1.101 |

+----------------+

 

[root@server2 ~]# ip a

ens33 192.168.1.101

 

8. 서버 로그인

putty를 이용해서 서버에 로그인한다.

putty로 접속 시 서버가 변경되었으므로 서버의 공개키도 변경되었기 때문에 security alert 창이 떠야한다.

 

login as: limanet

limanet@192.168.1.101's password:

Last login: Wed Feb 3 18:25:35 2021 from 192.168.8.1

[limanet@server2 ~]$ su -

암호:

마지막 로그인: 수 2월 3 21:31:32 KST 2021 일시 pts/0

[root@server2 ~]#

 

9. 방화벽 설정

[root@server2 ~]# iptables-save > /etc/sysconfig/iptables

[root@server2 ~]# iptables -t nat -F

[root@server2 ~]# scp -P2021 /etc/sysconfig/iptables limanet@192.168.1.254:

The authenticity of host '[192.168.1.254]:2021 ([192.168.1.254]:2021)' can't be established.

ECDSA key fingerprint is SHA256:G1kUPVbdzH/sNDnClFNAepiaEMG17SvZLHOdcpDTUn8.

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '[192.168.1.254]:2021' (ECDSA) to the list of known hosts.

limanet@192.168.1.254's password:

iptables 100% 1265 336.3KB/s 00:00

 

server1에서 복사한 후에 아래 명령어로 실행한다.

[root@server2 ~]# cat ~limanet/iptables > /etc/sysconfig/iptables

[root@server2 ~]# rm -f ~limanet/iptables

 

80번 웹 포트를 추가한다.

[root@server2 ~]# vi /etc/sysconfig/iptables

# Generated by iptables-save v1.4.21 on Thu Feb 4 11:34:57 2021

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [322:32349]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 2021 -j ACCEPT

-A INPUT -j DROP

COMMIT

# Completed on Thu Feb 4 11:34:57 2021

 

[root@server2 ~]# iptables-restore /etc/sysconfig/iptables

[root@server2 ~]# iptables -nL

Chain INPUT (policy ACCEPT)

target prot opt source destination

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2021

DROP all -- 0.0.0.0/0 0.0.0.0/0

 

Chain FORWARD (policy ACCEPT)

target prot opt source destination

 

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

 

커널 패킷 포워딩을 비활성화 시킨다.

[root@server2 ~]# vi /etc/sysctl.conf

net.ipv4.ip_forward = 1 <-- 삭제

[root@server2 ~]# sysctl -p

[root@server2 ~]# echo 0 > /proc/sys/net/ipv4/ip_forward

[root@server2 ~]# cat /proc/sys/net/ipv4/ip_forward

0

 

hosts 파일을 수정한다.

[root@server2 ~]# vi /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.8.101 server2.linuxmaster.co.kr

192.168.8.101 sbs.com www.sbs.com

192.168.8.101 kbs.com www.kbs.com

192.168.8.101 mbc.com www.mbc.com

 

server1에서 nat 설정이 안되었다면 게이트웨이로 네트워크가 되는지 확인한다.

[root@server2 ~]# ping -c 3 192.168.1.254

 

server1에서 nat 설정 후에 외부로 네트워크가 되는지 확인한다.

[root@server2 ~]# ping -c 3 8.8.8.8

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.

64 bytes from 8.8.8.8: icmp_seq=1 ttl=127 time=33.7 ms

64 bytes from 8.8.8.8: icmp_seq=2 ttl=127 time=34.0 ms

64 bytes from 8.8.8.8: icmp_seq=3 ttl=127 time=33.6 ms

 

--- 8.8.8.8 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2003ms

rtt min/avg/max/mdev = 33.631/33.812/34.075/0.190 ms

 

 

 

 

Server2 -> Server1(Firewall) 로 변경 예정

 

1. IP 주소 확인

[root@server2 ~]# ip a

ens33 192.168.1.101

 

2. /etc/issue 파일 수정

[root@server2 ~]# vi /etc/issue

+---------------+

| 192.168.1.101 |

+---------------+

 

3. 서버 종료

[root@server2 ~]# init 0

 

4. VMware 이름 변경

Server1(Firewall)

 

5. NIC(랜카드) 변경

첫 번째 NIC(랜카드) -> VMnet8 수정

두 번째 NIC(랜카드) 추가 -> VMnet1 설정

 

6. 서버 재부팅

 

7. 네트워크 설정

[root@server2 ~]# vi /etc/issue

+--------------+

| 192.168.8.3 |

+--------------+

 

[root@server2 ~]# nmtui

ens37 : ens37로 이름 변경

수동 설정으로 변경

192.168.1.254/24 추가

Gateway : 설정 안함

 

ens33 :

192.168.1.101/24 -> 192.168.8.3/24 변경

192.168.8.101/24 추가

G/W : 192.168.1.254 -> 192.168.8.2 변경

DNS : 168.126.63.1

 

호스트명 : server1.linuxmaster.co.kr

 

[root@server2 ~]# reboot

 

부팅 후

+-------------+

| 192.168.8.3 |

+-------------+

 

[root@server1 ~]# ip a

ens33 192.168.8.3

ens33 192.168.8.101

ens37 192.168.1.254

 

8. 서버 로그인

putty를 이용해서 서버에 로그인한다.

putty로 접속 시 서버가 변경되었으므로 서버의 공개키도 변경되었기 때문에 security alert 창이 떠야한다.

 

limanet@192.168.8.3's password:

Last login: Wed Feb 3 18:26:54 2021 from 192.168.1.1

[limanet@server1 ~]$ su -

암호:

마지막 로그인: 목 2월 4 11:20:51 KST 2021 일시 pts/0

[root@server1 ~]#

 

9. 방화벽 설정

[root@server1 ~]# iptables-save > /etc/sysconfig/iptables

[root@server1 ~]# scp -P2021 /etc/sysconfig/iptables limanet@192.168.1.101:

The authenticity of host '[192.168.1.101]:2021 ([192.168.1.101]:2021)' can't be established.

ECDSA key fingerprint is SHA256:6MGZqdgkk6vTbxBgXxFEnzv96seBjC47xlrBKkhCva0.

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '[192.168.1.101]:2021' (ECDSA) to the list of known hosts.

limanet@192.168.1.101's password:

iptables 100% 333 221.5KB/s 00:00

 

server2에서 복사한 후에 아래 명령어로 실행한다.

[root@server1 ~]# cat ~limanet/iptables > /etc/sysconfig/iptables

[root@server1 ~]# iptables-restore /etc/sysconfig/iptables

[root@server1 ~]# iptables -t nat -nL

Chain PREROUTING (policy ACCEPT)

target prot opt source destination

DNAT all -- 0.0.0.0/0 192.168.8.101 /* 8.101 -> 1.101 */ to:192.168.1.101

 

Chain INPUT (policy ACCEPT)

target prot opt source destination

 

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

 

Chain POSTROUTING (policy ACCEPT)

target prot opt source destination

SNAT all -- 192.168.1.101 0.0.0.0/0 /* 1.101 -> 8.101 */ to:192.168.8.101

[root@server1 ~]# iptables -nL

Chain INPUT (policy ACCEPT)

target prot opt source destination

 

Chain FORWARD (policy ACCEPT)

target prot opt source destination

 

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

 

 

커널 패킷 포워딩을 활성화 시킨다.

[root@server1 ~]# vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

[root@server1 ~]# sysctl -p

net.ipv4.ip_forward = 1

 

[root@server1 ~]# vi /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.8.3 server1.linuxmaster.co.kr

 

 

 

 

DNS 캐쉬를 삭제한다.

C:\>ipconfig/flushdns

 

윈도우 hosts 파일 수정

-- %systemroot%\system32\drivers\etc\hosts --

# Copyright (c) 1993-2009 Microsoft Corp.

#

# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.

#

# This file contains the mappings of IP addresses to host names. Each

# entry should be kept on an individual line. The IP address should

# be placed in the first column followed by the corresponding host name.

# The IP address and the host name should be separated by at least one

# space.

#

# Additionally, comments (such as these) may be inserted on individual

# lines or following the machine name denoted by a '#' symbol.

#

# For example:

#

# 102.54.94.97 rhino.acme.com # source server

# 38.25.63.10 x.acme.com # x client host

 

# localhost name resolution is handled within DNS itself.

# 127.0.0.1 localhost

# ::1 localhost

192.168.8.101 sbs.com

192.168.8.101 www.sbs.com

192.168.8.101 kbs.com

192.168.8.101 www.kbs.com

192.168.8.101 mbc.com

192.168.8.101 www.mbc.com

-- %systemroot%\system32\drivers\etc\hosts --

 

 

 

192.168.8.1 : Host OS

DNS : 168.126.63.1 공통

192.168.8.3 : server1 (네트워크 F/W)

192.168.1.101 : server2 내부망 WEB서버#1

192.168.1.102 : server3 내부망 DB서버#1

 

+-- ens33

|

| +-- ens33 192.168.8.101 (WEB 서버 IP주소 inbound:o, outbound:o)

| | +-- ens33 192.168.8.102 (DB 서버 IP주소 inbound:x, outbound:o)

| | | +-- ens37 +-- ens33

| | | | |

외부망 +---+[server1]+---- 내부망 --------+----------+

| | F/W | | |

| | | [server2] [server3]

| | | | |

| | 192.168.1.254 | 192.168.1.102

| | 192.168.1.101 (GateWay : 192.168.1.254)

| | WEB#1 DB#1

| 192.168.8.3 (GateWay : 192.168.8.2)

|

192.168.8.2

 

 

DB#1 설정

 

-- DB#1 서버 조건 --

CentOS 설치 후에 DB 서버 설치

가상머신 이름 : Server3(DB#1)

파티션 : 자동

배포판 : 최소 설치

메모리 : 1G

IP 주소 : 192.168.1.102/24

DNS : 168.126.63.1

Gateway : 192.168.1.254

 

시스템 관리자 : limanet, 비번은 자유롭게 설정

 

OpenSSH

SSH port : 2021

SSH root 접속 금지

 

방화벽

firewalld 중지

iptables-services 설치

방화벽 룰은 모두 해제

 

mariaDB

웹서버, PHP : 설치 금지

DB서버만 설치

DB 서버 언어셋 : utf8

DB 서버 포트 : 0.0.0.0:3306

DB 서버명 : server3.linuxmaster.co.kr

 

DB 사용자 생성

host 사용자 비밀번호 DB명

localhost root 111111

192.168.1.101 sbsuser 111111 sbsuser

192.168.1.101 kbsuser 111111 kbsuser

192.168.1.101 mbcuser 111111 mbcuser

-- DB#1 서버 조건 --

 

방화벽 설정

server1의 방화벽에서 내부망의 DB 서버의 SNAT를 설정한다.

 

server1의 방화벽에서 내부망의 DB서버(192.168.1.102)가 외부로 트래픽이 나갈 수 있도록 SNAT를 설정한다.

[root@server1 ~]# iptables -t nat -A POSTROUTING -s 192.168.1.102 \

-j SNAT --to 192.168.8.102 -m comment --comment '1.102 -> 8.102'

 

server1의 방화벽에서 내부망의 DB서버를 등록한 후 nat 테이블의 룰 설정은 아래와 같다.

[root@server1 ~]# iptables -t nat -nL

Chain PREROUTING (policy ACCEPT)

target prot opt source destination

DNAT all -- 0.0.0.0/0 192.168.8.101 /* 8.101 -> 1.101 */ to:192.168.1.101

 

Chain INPUT (policy ACCEPT)

target prot opt source destination

 

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

 

Chain POSTROUTING (policy ACCEPT)

target prot opt source destination

SNAT all -- 192.168.1.101 0.0.0.0/0 /* 1.101 -> 8.101 */ to:192.168.8.101

SNAT all -- 192.168.1.102 0.0.0.0/0 /* 1.102 -> 8.102 */ to:192.168.8.102

 

방화벽의 룰 설정을 /etc/sysconfig/iptables에 설정을 저장한다.

[root@server1 ~]# iptables-save > /etc/sysconfig/iptables

 

OpenSSH 설정

SSH port를 2021번으로 변경하고 SSH root 접속을 금지시킨다.

[root@server3 ~]# vi /etc/ssh/sshd_config

Port 2021

PermitRootLogin no

 

SELinux

semanage 패키지인 policycoreutils-python 을 설치하고

semanage를 이용해서 2021번의 포트 번호를 ssh_port_t로 추가한다.

[root@server3 ~]# yum -y install policycoreutils-python

 

[root@server3 ~]# semanage port -l | grep 2021

[root@server3 ~]# semanage port -a -t ssh_port_t -p tcp 2021

[root@server3 ~]# systemctl restart sshd

 

[root@server3 ~]# yum -y install net-tools

[root@server3 ~]# ss -nltp

[root@server3 ~]# netstat -nltp

 

방화벽

CentOS7의 방화벽 firewalld를 중지시키고 iptables-services 설치한다.

네트워크 방화벽이 존재하므로 방화벽 룰은 모두 해제시킨다.

[root@server3 ~]# systemctl stop firewalld

[root@server3 ~]# systemctl disable firewalld

[root@server3 ~]# yum -y install iptables-services

[root@server3 ~]# systemctl enable iptables

 

DB 서버 설치

웹서버, PHP : 설치 금지

DB 서버 언어셋 : utf8

DB 서버 포트 : 0.0.0.0:3306

DB 서버명 : server3.linuxmaster.co.kr

 

내부망의 DB서버에서 mariaDB 서버를 설치한다.

[root@server3 ~]# yum -y install mariadb mariadb-server

[root@server3 ~]# systemctl enable mariadb

 

설정파일에 utf8을 설정한다.

[root@server3 ~]# vi /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

symbolic-links=0

 

# 아래 3줄 추가

collation-server = utf8_general_ci

character-set-server = utf8

skip-character-set-client-handshake

 

[mysqld_safe]

log-error=/var/log/mariadb/mariadb.log

pid-file=/var/run/mariadb/mariadb.pid

 

:

:(생략)

 

mariaDB를 시작한다.

[root@server3 ~]# systemctl start mariadb

 

DB관리자 (root)의 비밀번호를 설정한다.

[root@server3 ~]# mysqladmin password

New password: <-- 111111

Confirm new password: <-- 111111

 

[root@server3 ~]# vi .my.cnf

[client]

host = localhost

user = root

password = 111111

 

DB 서버 언어셋 : utf8

MariaDB [(none)]> status

--------------

mysql Ver 15.1 Distrib 5.5.68-MariaDB, for Linux (x86_64) using readline 5.1

 

Connection id: 5

Current database:

Current user: root@localhost

SSL: Not in use

Current pager: stdout

Using outfile: ''

Using delimiter: ;

Server: MariaDB

Server version: 5.5.68-MariaDB MariaDB Server

Protocol version: 10

Connection: Localhost via UNIX socket

Server characterset: utf8

Db characterset: utf8

Client characterset: utf8

Conn. characterset: utf8

UNIX socket: /var/lib/mysql/mysql.sock

Uptime: 3 min 30 sec

 

Threads: 1 Questions: 12 Slow queries: 0 Opens: 0 Flush tables: 2 Open tables: 26 Queries per second avg: 0.057

--------------

 

MariaDB [(none)]> quit

 

DB 서버 포트 : 0.0.0.0:3306

[root@server3 ~]# ss -nltp | grep 3306

LISTEN 0 50 *:3306 *:* users:(("mysqld",pid=11810,fd=14))

 

mysql DB로 접속한다.

~/.my.cnf 를 저장했기 때문에 DB서버에 들어갈 수 있는 것이다.

[root@server3 ~]# mysql mysql

 

user 테이블에 저장된 default 값을 삭제한다.

MariaDB [mysql]> delete from user where password = '';

Query OK, 5 rows affected (0.00 sec)

 

db 테이블에 저장된 default 값을 삭제한다.

MariaDB [mysql]> delete from db;

Query OK, 2 rows affected (0.00 sec)

 

변경된 내용을 적용시킨다.

MariaDB [mysql]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

 

DBMS 설정

참고 : 20210121.txt, 20210203.txt 문서를 참고한다.

DB 사용자 생성/DataBase 생성

DB 사용자가 DatabBase를 사용할 수 있도록 권한을 부여한다.

mysql.user 테이블 : db사용자 로그인과 DBMS 권한 테이블

mysql.db 테이블 : db사용자 DB를 사용할 수 있는 권한 테이블

 

host 사용자 비밀번호 DB명

localhost root 111111

192.168.1.101 sbsuser 111111 sbsuser

192.168.1.101 kbsuser 111111 kbsuser

192.168.1.101 mbcuser 111111 mbcuser

 

아래 명령어를 이용해서 사용자를 생성한다.

create database sbsuser;

create database kbsuser;

create database mbcuser;

create user 'sbsuser'@'192.168.1.101' identified by '111111';

grant all privileges on sbsuser.* to sbsuser@'192.168.1.101' with grant option;

 

create user 'kbsuser'@'192.168.1.101' identified by '111111';

grant all privileges on kbsuser.* to kbsuser@'192.168.1.101' with grant option;

 

insert into user (host,user,password) values('192.168.1.101', 'mbcuser', password('111111'));

insert into db values('192.168.1.101','mbcuser','mbcuser','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y');

flush privileges;

 

생성된 사용자를 확인한다.

MariaDB [mysql]> select host,user,password from user;

+---------------+---------+-------------------------------------------+

| host | user | password |

+---------------+---------+-------------------------------------------+

| localhost | root | *FD571203974BA9AFE270FE62151AE967ECA5E0AA |

| 192.168.1.101 | kbsuser | *FD571203974BA9AFE270FE62151AE967ECA5E0AA |

| 192.168.1.101 | mbcuser | *FD571203974BA9AFE270FE62151AE967ECA5E0AA |

| 192.168.1.101 | sbsuser | *FD571203974BA9AFE270FE62151AE967ECA5E0AA |

+---------------+---------+-------------------------------------------+

4 rows in set (0.00 sec)

 

MariaDB [mysql]> select host,db,user from db;

+---------------+---------+---------+

| host | db | user |

+---------------+---------+---------+

| 192.168.1.101 | kbsuser | kbsuser |

| 192.168.1.101 | mbcuser | mbcuser |

| 192.168.1.101 | sbsuser | sbsuser |

+---------------+---------+---------+

3 rows in set (0.00 sec)

 

MariaDB [mysql]> quit

 

Server2에서 DB서버를 중지한다.

[root@server2 ~]# systemctl stop mariadb

[root@server2 ~]# systemctl disable mariadb

 

server2(192.168.1.101)에서 server3(192.168.1.102)로 접속해서 테스트해본다.

DB서버에 sbsuser, kbsuser, mbcuser로 접속해서 아래와 같은 테스트를 실행해본다.

여기서는 테스트이기 때문에 sbsuser만 테스트하기로 한다.

 

테이블 확인 테스트, 테이블 생성 테스트, 자료 입력 테스트,

자료 검색 테스트, 자료 삭제 테스트, 테이블 삭제 테스트

[root@server2 ~]# mysql -h 192.168.1.102 -u sbsuser -p111111 sbsuser

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 7

Server version: 5.5.68-MariaDB MariaDB Server

 

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

MariaDB [sbsuser]> show tables;

Empty set (0.00 sec)

 

MariaDB [sbsuser]> create table a (no int);

Query OK, 0 rows affected (0.01 sec)

 

MariaDB [sbsuser]> insert into a values(1),(2),(3);

Query OK, 3 rows affected (0.00 sec)

Records: 3 Duplicates: 0 Warnings: 0

 

MariaDB [sbsuser]> select * from a;

+------+

| no |

+------+

| 1 |

| 2 |

| 3 |

+------+

3 rows in set (0.00 sec)

 

MariaDB [sbsuser]> delete from a;

Query OK, 3 rows affected (0.00 sec)

 

MariaDB [sbsuser]> select * from a;

Empty set (0.01 sec)

 

MariaDB [sbsuser]> drop table a;

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [sbsuser]> show tables;

Empty set (0.00 sec)

 

MariaDB [sbsuser]> quit

Bye

 

GNU Board 5 설치

sbs.com에 GNU Board 5를 설치한다.

sbs.com은 server2의 sbsuser 사용자로 설정되어 있다.

 

 

 

 

 

 

 

 

 

 

 

 

반응형

'정보보안(시스템,네트워크) > 리눅스' 카테고리의 다른 글

DAY_32 apache  (0) 2021.02.08
DAY_31 두번째 DB연결해주기  (0) 2021.02.05
DAY_29 가상호스트  (0) 2021.02.03
DAY_28 vmware로 방화벽 설정해보기  (0) 2021.02.02
DAY_27 방화벽  (0) 2021.02.01

BELATED ARTICLES

more