DAY_30 서버 교체해보기
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


다 설치 후 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 |



