-Tenant 임차인(사용자)
<복습>
1. ESXi 망도
- 설정편집 확인
-네트워크 어댑터1 = EXTERNAL (vSwitch0 포트그룹)
-네트워크 어댑터 = INTERNAL (vSwitch1 포트그룹)
-네트워크 어댑터1 = INTERNAL (vSwitch1 포트그룹)
-네트워크 어댑터 = INTERNAL (vSwitch1 포트그룹)
-네트워크 어댑터 = INTERNAL (vSwitch1 포트그룹)
-네트워크 어댑터 = INTERNAL (vSwitch1 포트그룹)
3.네트워킹 - 가상스위치 확인
vSwitch0
-물리적 어댑터 = 업링크 (LAN카드 연결)
*EXTERNAL
-내가 설정 가능
-NAT는 두개의 포트그룹과 연결(external, internal)
*Management Network (관리포트그룹)
-관리를 위한 IP를 설정하고 있는 포트그룹
-web 관리 IP
INTERNAL
-NAT는 두개의 포트그룹과 연결(external, internal)
-내부 네트워크로 연결되어있어서 NAT가 없으면 통신불가능
-(보안상의 이유)로 격리된 내부 네트워크
※NAT로 연결
-DHCP, DNS, HAProxy 역할
<학습>
1. 라우터 설정
▶NAT에서 실행
# hostnamectl
# ip a //ip 확인 후 ens 변경값 확인
# hostnamectl set-hostname nat //호스트네임 변경
# exit
//첫번째 LAN카드 설정
# vi /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=none
NAME=ens192
DEVICE=ens192
ONBOOT=yes //no일 경우 LAN카드 꺼짐
IPADDR=192.168.0.53
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
DNS2=8.8.4.4
//두번째 LAN카드 설정
# vi /etc/sysconfig/network-scripts/ifcfg-ens224
TYPE=Ethernet
BOOTPROTO=none
NAME=ens224
DEVICE=ens224
ONBOOT=yes
IPADDR=10.0.24.1 //본인 IP 대역(internal 게이트웨이를 통과할 주소)
//꼭 1이 아니어도 됨(0,255는 불가/ 1~254 가능) -> 나중에 설정시 동기화해야함
NETMASK=255.255.255.0 //기본 서브넷 마스크, 앞의 3자리를 픽스하기 위해 마스크 씌움
# systemctl restart network
# yum install -y bash-completion //필요한 파일들 알아서 설치
# exit
-방화벽 설정
# firewall-cmd --get-active-zones
public
interfaces: ens192 ens224
# systemctl status NetworkManager //nmcli를 쓰기 위해 활성화되어 있어야함
# nmcli c mod ens192 connection.zone external
# nmcli c mod ens224 connection.zone internal
# firewall-cmd --get-active-zones //분리된거 확인
internal
interfaces: ens224
external
interfaces: ens192
# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1 // 리눅스 시스템을 라우터로 만드는 셋팅
# sysctl -p
- DHCP 설정
▶nat에서
# yum install dhcp -y
# vi /etc/dhcp/dhcpd.conf
ddns-update-style interim;
subnet 10.0.24.0 netmask 255.255.255.0 {
option routers 10.0.24.1;
option subnet-mask 255.255.255.0;
range dynamic-bootp 10.0.24.2 10.0.24.254; //브로드캐스트용 주소 255 불가
option domain-name-servers 10.0.24.1, 8.8.8.8, 203.248.252.2;
default-lease-time 7200;
max-lease-time 86400;
}
# systemctl enable --now dhcpd
ip 확인
web01 : 10.0.24.4
web02 : 10.0.24.2
web03 : 10.0.24.3
db : 10.0.24.5
//포트포워드
# firewall-cmd --permanent --zone=external --add-forward-port=port=221:proto=tcp:toport=22:toaddr=10.0.24.4 //web01
# firewall-cmd --permanent --zone=external --add-forward-port=port=222:proto=tcp:toport=22:toaddr=10.0.24.2 //web02
# firewall-cmd --permanent --zone=external --add-forward-port=port=223:proto=tcp:toport=22:toaddr=10.0.24.5 //db
# firewall-cmd --permanent --zone=external --add-forward-port=port=3389:proto=tcp:toport=3389:toaddr=10.0.24.3 //web03
# firewall-cmd --permanent --zone=external --add-forward-port=port=3306:proto=tcp:toport=3306:toaddr=10.0.24.5 //mariaDB
# firewall-cmd --reload
# firewall-cmd --list-all --zone=external //확인
▶mobaxterm /home/mobaxterm/.ssh에서
//키전송
/home/mobaxterm/.ssh> ssh-copy-id -p 221 -i id_rsa.pub root@192.168.0.53
/home/mobaxterm/.ssh> ssh-copy-id -p 222 -i id_rsa.pub seo@192.168.0.53
/home/mobaxterm/.ssh> ssh-copy-id -p 223 -i id_rsa.pub root@192.168.0.53
▶nat에서
-세션 접속 후 이름 바꿔주기
▶web03
-allow remote access to your computer->라디오버튼 2번째->체크박스 해제->apply->ok
-new session-> RDP(window)-> (Username:administrator)
-방화벽 열기
-'windows firewall with advanced security'-> inbound rules-> new rules->
-80포트 열기
- DNS 설정
▶nat에서
# yum -y install bind bind-chroot bind-utils
# vi /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; 192.168.0/24; 10.0.24/24; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { localhost; 192.168.0/24; 10.0.24/24; };
forwarders { 8.8.8.8; 8.8.4.4; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view "internal" {
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/var/named/hyejin.shop.zones"; # 호스팅 영역 생성
};
# vi /var/named/hyejin.shop.zones
zone "hyejin.shop" IN {
type master;
file "hyejin.shop.db";
allow-update { none; };
};
zone "24.0.10.in-addr.arpa" IN {
type master;
file "24.0.10.in-addr.arpa.db";
allow-update { none; };
};
# vi /var/named/hyejin.shop.db
$TTL 86400
@ IN SOA hyejin.shop. root.hyejin.shop.(
2022041401 ; Serial
3h ; Refresh
1h ; Retry
1w ; Expire
1h ) ; Minimum
IN NS ns.hyejin.shop.
IN MX 10 ns.hyejin.shop.
ns IN A 10.0.24.1
web01 IN A 10.0.24.4
web02 IN A 10.0.24.2
web02 IN A 10.0.24.3
db IN A 10.0.24.5
//첫째줄과 3번째줄 동기화되어야함
# vi /var/named/24.0.10.in-addr.arpa.db
$TTL 86400
@ IN SOA hyejin.shop. root.hyejin.shop.(
2022041401 ; Serial
3h ; Refresh
1h ; Retry
1w ; Expire
1h ) ; Minimum
IN NS ns.hyejin.shop.
1 IN PTR ns.hyejin.shop.
# systemctl enable --now named
# firewall-cmd --permanent --add-service=dns
# firewall-cmd --reload
# vi /etc/sysconfig/network-scripts/ifcfg-ens192
DNS1=10.0.24.1
DNS2=8.8.8.8
DNS3=203.248.252.2
PEERDNS=no
//추가
# ping db.hyejin.shop //ping 나가는지 확인
▶db에서
# vi /etc/yum.repos.d/MariaDB.repo
# yum install -y MariaDB
# mariadb --version
# systemctl enable --now mariadb
# mysql_secure_installation
비밀번호 : Kosa0401!
# mysql -u root -p
CREATE USER 'kosa'@'%' IDENTIFIED BY 'kosa0401';
CREATE DATABASE IF NOT EXISTS wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'kosa'@'%';
quit
# firewall-cmd --permanent --add-service=mysql
# firewall-cmd --reload
# ss -ant //방화벽 확인
▶web02
$ sudo apt update
$ sudo apt install -y openssh-server
- SAMBA 설정 (윈도우형 파일시스템, 윈도우 내에서는 smb라고 부름)
▶web01에서
# yum install -y samba
# mkdir -p /var/samba/share
# chmod 777 /var/samba/share/
# adduser kosa
# passwd kosa //위에서 만든 kosa에 비밀번호 설정
비밀번호 : kosa0401
# smbpasswd -a kosa //smb kosa의 비밀번호 설정
비밀번호 : kosa0401
# vi /etc/samba/smb.conf
[share]
comment = Share Directory
path = /var/samba/share
browserable = yes
writable = yes
valid users = kosa
create mask = 0777
directory mask = 0777
# systemctl enable --now smb nmb
# firewall-cmd --permanent --add-service=samba
# firewall-cmd --reload
★확인
▶web03에서
-돋보기에 \db.hyejin.shop 검색-> kosa/kosa0401 입력
-share 폴더에 새폴더 생성
?win10이 samba를 이용하려면?
-139, 445 포트로 포트포워딩
# firewall-cmd --permanent --zone=external --add-forward-port=port=139:proto=tcp:toport=139:toaddr=10.0.24.5
# firewall-cmd --permanent --zone=external --add-forward-port=port=445:proto=tcp:toport=445:toaddr=10.0.24.5
# firewall-cmd --reload
win10에서 확인
\192.168.0.53 검색
- NFS 설정
▶web02에서
# yum install -y nfs-utils //nfs 서버, 클라이언트 가능
# mkdir /share && cd $_ //만든 폴더로 바로 이동
# echo "Hello" > test.txt
# vi /etc/exports
/share 10.0.24.0/24(rw,sync) //내부네트워크만 사용가능
# chmod 707 /share
# systemctl enable --now nfs-server
# exportfs -v
//방화벽 해제
# firewall-cmd --permanent --add-service=nfs
# firewall-cmd --permanent --add-service=rpc-bind
# firewall-cmd --permanent --add-service=mountd
# firewall-cmd --reload
★확인
▶nat, web01 에서(CentOS)
# yum install -y nfs-utils
# showmount -e db.hyejin.shop
마운트 가능한지 확인
# mkdir share
# ls
# mount -t nfs db.hyejin.shop:/share share //도메인의 share폴더와 지금 share폴더와 마운트시킴
# df -h
# cp /etc/fstab /etc/fstab.bak
# echo "db.hyejin.shop:/share /root/share nfs defaults 0 0" >> /etc/fstab
▶ web02에서 (클라이언트-Ubuntu) / 설치명령어, 경로가 CentOS랑 다름
$ sudo apt-get update
$ sudo apt-get install -y nfs-common
$ pwd
$ mkdir /home/seo/share
$ sudo showmount -e db.hyejin.shop
$ sudo mount -t nfs db.hyejin.shop:/share /home/seo/share
$ df -h
$ ls share
$ sudo cp /etc/fstab /etc/fstab.bak
$ sudo vi /etc/fstab
db.hyejin.shop:/share /home/seo/share nfs defaults 0 0
- HAProxy 설정
▶web01 에서
# yum install -y httpd
# systemctl enable --now httpd
▶web02에서
$ sudo apt update && sudo apt upgrade -y
$ sudo reboot
$ sudo apt install -y nginx php7.2 php7.2-mysql php7.2-fpm php7.2-mbstring php7.2-gd wget unzip
$ sudo mkdir -p /var/www/html/wordpress/public_html //wordpress/public_html html 루트 폴더를 만들어서 관리하겠다.
$ cd /etc/nginx/sites-available //환경설정 파일 포함
$ sudo vi wordpress.conf //정의를 하고. hyejin
server {
listen 80; //80포트 이용
root /var/www/html/wordpress/public_html; //내가 정의한 루트경로
index index.php index.html; //index.php를 최우선으로(우선순위)
server_name nat.hyejin.shop; //이 도메인으로 들어오는 트래픽만 허용
access_log /var/log/nginx/SUBDOMAIN.access.log;
error_log /var/log/nginx/SUBDOMAIN.error.log;
location / {
try_files $uri $uri/ =404; //not found 표시
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all; //접근제어
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
$ sudo nginx -t //nginx 의 상태를 보는 명령어(test), uccessful 나와야함
$ cd /etc/nginx/sites-enabled //.conf 파일을 enabled에 링크를 걸것임
$ sudo ln -s ../sites-available/wordpress.conf . ///sites-available/wordpress.conf를 현재경로에 링크 걸기-> nginx에 적용 가능
$ ls -al //링크가 걸렸는지 확인
$ sudo systemctl reload nginx
$ cd /var/www/html/wordpress/public_html
※db 에서 (wordpress 파일 복사)
# cd /share/
# cp /var/samba/share/files/wordpress-5.9.3-ko_KR.zip .
다시 web02에서
$ sudo cp ~/share/wordpress-5.9.3-ko_KR.zip .
$ ls
$ sudo unzip wordpress-5.9.3-ko_KR.zip
$ sudo mv wordpress/* .
$ sudo chown -R www-data:www-data * //모든 사용자와 그룹명을 www-data로 변경
$ sudo chmod -R 755 *
reload -> 아파치서버를 종료하지 않은채 conf 설정 파일들만 새로 갱신
restart -> 서버를 stop하고 start해주는 작업
▶web03에서
-서류가방 클릭-> manage클릭->
-> Add Features 클릭
-> client for NFS 체크
-> 그대로 next
-> Install
※db에서
# cd /var/samba/share/files/
-.msi파일을 저 경로에 넣어주기
※web03에서
-검색창에 \db.hyejin.shop검색
-\db.hyejin.shop\share\files에 .msi있는거 확인
-파일 설치
*PHP설치 방법
-서류가방 클릭후-> Tools 클릭-> 'Internet Information Services Manager' 클릭
-> no 선택
-> 두번 클릭해 설치
-> php 검색-> add 클릭-> Install 클릭-> I Accept 클릭