[클라우드 With네트워크/GNS실습(6)]

SooYeon Yeon·2022년 7월 19일
0

GNS 실습

왼쪽부분은 1층, 오른쪽 부분은 2층이라고 생각하고

PC3,4는 Dev팀. PC5를 OPS팀이라고 할 때, DEV는 valn10번, OPS 20번으로 만들 것임. 이렇게 되면 dev팀의 PC끼리만 통신 가능함.

[SW2]

SW2#vlan dat
SW2(vlan)#vlan 10 name DEV
VLAN 10 added:
    Name: DEV
SW2(vlan)#vlan 20 name OPS
VLAN 20 added:
    Name: OPS
SW2(vlan)#exit
APPLY completed.
Exiting....

SW2#show vlan-sw br # vlan에 대한 sw 간단히 보여줌
# vlan 구분
SW2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
SW2(config)#int fa1/1
SW2(config-if)#sw mode access
SW2(config-if)#sw access vlan 10
SW2(config-if)#int fa1/2
SW2(config-if)#sw mode access
SW2(config-if)#sw access vlan 10
SW2(config-if)#
SW2(config-if)#int fa1/3
SW2(config-if)#sw mode access
SW2(config-if)#sw access vlan 20
SW2(config-if)#
SW2(config-if)#do show vlan-sw br

이동 확인

PC3,4,5 IP 대입하고

PC3에서 4의 ip로 ping 보낼 때는 되지만, PC5의 IP로 ping 하면 통신불가능 (Vlan으로 나누었기 때문)

[SW]

# int fa1/3을 vlan 10으로 변경하고 확인해보면 정상적으로 연결 가능
int fa1/3
sw access vlan 10

다시 실습

기본은 access port (1번으로 되어있음). 이걸 trunk로 바꿀것

[SW2]

int fa1/10
sw mode trunk

[SW1]

vlan dat
vlan 10 name DEV
vlan 20 name OPS
exit

conf t
int fa1/10
sw mode trunk

int fa1/1
sw mode access
sw access vlan 10

PC1에서 IP 10.10.10.10/24 하고 PC3인 10.10.10.11에 ping 보냈을 때 정상적으로 연결

기존 프레임에서는 vlan에 대해 보낼때 알 수 없음. 그래서 trunk port에서 sw→ sw넘어가는 선에서는 기존과 달리 vlan정보가 들어있는 프레임이 가게 됨

실습

리눅스

CentOS1 → 본사에 있는 웹/DB 서버

CentOS2 → 지사에 있는 Desktop

GNS 생성

[SW1]

SW1#vlan dat
SW1(vlan)#vlan 10 name SERVER
VLAN 10 added:
    Name: SERVER
SW1(vlan)#vlan 20 name PC
VLAN 20 added:
    Name: PC
SW1(vlan)#exit
APPLY completed.
Exiting....

vlan10, 20 각각 edit

int fa1/1
sw mode access
sw access vlan 10 # access port vlan 10으로 변경

int fa1/2
sw mode access
sw access vlan 20

int fa 1/10은 trunk port가 되어야 함 (10과 20 둘 다 지나가는 곳)

int fa1/10
sw mode trunk

vLAN overlay

[Router1]

int fa0/1
no sh
R1(config-if)#
R1(config-if)#int fa0/1.10
R1(config-subif)#encap dot1q 10
R1(config-subif)#ip add 172.16.1.2. 255.255.255.0
                                  ^
% Invalid input detected at '^' marker.

R1(config-subif)#ip add 172.16.1.2 255.255.255.0
R1(config-subif)#int fa0/1.20
R1(config-subif)#encap dot1q 20
R1(config-subif)#ip add 192.16.2.2 255.255.255.0
R1(config-subif)#do show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 1 subnets
C       172.16.1.0 is directly connected, FastEthernet0/1.10
C    192.16.2.0/24 is directly connected, FastEthernet0/1.20
R1(config-subif)#ip add 172.16.2.2 255.255.255.0
R1(config-subif)#show ip route
                   ^
% Invalid input detected at '^' marker.

R1(config-subif)#do show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 2 subnets
C       172.16.1.0 is directly connected, FastEthernet0/1.10
C       172.16.2.0 is directly connected, FastEthernet0/1.20

리눅스

[CentOs2]

ping -c 3 172.16.1.100

를 확인해보면 연결. 이 연결은 직접 연결되는게아니라 스위치를 통하고 라우터를 통해서 정규분포? 모양으로 이어져서 연결되는 것임

NAT/PAT

  • 내부 사용자들이 인터넷과 연결할 수 있도록 dynamic PAT 필요
  • 외부 사용자들이 회사 내에 있는 웹 서버로 연결할 수 있도록 static PAT (DB는 외부에서 연결할 수 없어야 한다.)

[R1]

R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#access-list
% Incomplete command.

R1(config)#access-list 1 permit 172.16.2.0 0.0.0.255
R1(config)#ip nat inside so list 1 int fa0/0 overload
R1(config)#

사설주소 지정(acceess~), 사설주소가 int fa0/0에 있는 공인 IP를 공유 하겠다는 뜻.

R1(config)#int fa0/0
R1(config-if)#ip add 192.168.1.114 255.255.255.0
R1(config-if)#ip nat outside
R1(config-if)#no sh
R1(config-if)#
*Mar  1 00:17:07.947: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:17:08.947: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R1(config-if)#int fa0/1.10
R1(config-subif)#ip nat inside
R1(config-subif)#int fa0/1.20
R1(config-subif)#ip nat inside
R1(config-subif)#ip route 0.0.0.0 0.0.0.0 192.168.1.1

centOS1은 서버는 외부(인터넷)으로 나갈 수 없음, 연결해주고 싶은거만 안쪽으로 들어갈 수 있도록 정적매핑을 함(fa0/0 80포트로 들어가면 172~ 80포트로 들어가는 것만 제공) 오른쪽에서 가는거는 가능했음

ip nat inside so static tcp 172.16.1.100 80 int fa0/0 80

라우터의 80번포트로 웹접속을 하면 172.~.80번포트로 정적 매핑을 하겠다는 뜻

centOS1이 인터넷으로 나가는 것 가능하게 하자

[R1]

#access-list 1 permit 172.16.1.0 0.0.0.255

연결 가능해짐

[리눅스]

CentOs1 - mariadb 서버 설치

yum -y install mariadb-server

CentOs2

yum -y install mariadb

[CentOs1]

systemctl enable mariadb --now

mysql_secure_installation

mysql -u root -ptest123

show databases;
create database testdb;

[CentOs1]

GRANT ALL PRIVILEGES ON testdb.* TO user1@'localhost' IDENTIFIED BY 'user1';  #user1에게 모든 권한을 부여한다.
GRANT ALL PRIVILEGES ON testdb.* TO user1@'%' IDENTIFIED BY 'user1'; 
FLUSH PRIVILEGES;

[centOs2]

mysql -u root -h 172.16.1.100 -p # 하면 안되어야 함

mysql testdb -u user1 -h 172.16.1.100 -p # 되어야 함

exit

로그인하고 use mysql;

mysql/mariadb → tcp 3306

외부 —→ fa0/0 ——→ DBMS

[router1]

ip nat inside so static tcp 172.16.1.100 3306 int fa0/0 3306

0개의 댓글