VLAN(Virtual LAN)
L2 스위치부터 제공되는 가상의 LAN을 구성하는 기능이다.
논리적인 네트워크 분리기술로
식별자(number)를 이용한 network 이름을 지정한다는 특징이 있다. (VLAN 10)
VLAN 사용 목적
- 네트워크(Broadcast Domain) 분리
- 보안
- 유연성
1개의 스위치에 VLAN 연결하기
- vlan 생성 후 확인
Switch(config)#vlan 10 Switch(config-vlan)#exit Switch(config)#vlan 20 Switch(config-vlan)#exit Switch#sh vlan brief //생성 확인 |
- 인터페이스 별 VLAN 설정
Switch(config)#int f0/1 Switch(config-if)#switchport mode access Switch(config-if)#switchport access vlan 10 Switch(config-if)#int f0/3 Switch(config-if)#switchport mode access Switch(config-if)#switchport access vlan 10 Switch(config-if)#int f0/2 Switch(config-if)#switchport mode access Switch(config-if)#switchport access vlan 20 Switch(config-if)#int f0/4 Switch(config-if)#switchport mode access Switch(config-if)#switchport access vlan 20 Switch#sh vlan brief 로 확인 |
※ VLAN을 1개만 연결(ACCESS) / 여러개 연결(TRUNK)
통신 체크
같은 vlan 끼리만 통신되는 것을 볼 수 있음
==> 아무나 통신하지 못하게 막는 것이 vlan (보안)
2개의 스위치에 VLAN 연결하기
(앞에 실습에서 추가 !)
두번 째 스위치에 VLAN 생성
Switch1(config)#vlan 10 Switch1(config-vlan)#exit Switch1(config)#vlan 20 Switch1(config-vlan)#exit |
인터페이스 별 VLAN 설정
Switch1(config)#int f0/1 Switch1(config-if)#switchport mode access Switch1(config-if)#switchport access vlan 10 Switch1(config-if)#int f0/2 Switch1(config-if)#switchport mode access Switch1(config-if)#switchport access vlan 20 Switch#sh vlan brief 로 확인 |
vlan 1에만 연결되어 있는 것을 확인할 수 있다 (=> 통신 XXX)
각 스위치 연결 포트에 VLAN 설정
Switch0(config)#int f0/23 Switch0(config-if)#switchport mode access Switch0(config-if)#switchport access vlan 10 Switch0(config-if)#int f0/24 Switch0(config-if)#switchport mode access Switch0(config-if)#switchport access vlan 20 Switch1(config-if)#int f0/23 Switch1(config-if)#switchport mode access Switch1(config-if)#switchport access vlan 10 Switch1(config-if)#int f0/24 Switch1(config-if)#switchport mode access Switch1(config-if)#switchport access vlan 20 |
!!!!!!문제점 포트의 낭비 + 복잡!!!!!!!
==> vlan 개수가 늘어나면 access 포트 연결도 늘어난다 !!!!!!!!!!!
여러개의 VLAN을 연결하기 위한 TRUNK 방식
인터페이스에 VLAN설정 (트렁킹)
Switch0(config)#int f0/20 Switch0(config-if)#switchport mode trunk Switch0(config-if)#switchport trunk allowed vlan 10,20 switch1(config)#int f0/20 switch1(config-if)#switchport mode trunk switch1(config-if)#switchport trunk allowed vlan 10,20 |
-- 포트 트렁킹 확인
switch1#sh interfaces trunk |
native vlan
- trunk에서 tagging 하지 않는 vlan
Switch0(config)#vlan 77
Switch0(config-vlan)#exit
Switch1(config)#vlan 77
Switch1(config-vlan)#exit
Switch0(config)#int f0/20
Switch0(config-if)#switchport mode trunk
Switch0(config-if)#switchport trunk ?
allowed Set allowed VLAN characteristics when interface is in trunking mode
native Set trunking native characteristics when interface is in trunking
mode
Switch0(config-if)#switchport trunk native vlan 77
Switch1(config)#int f0/20
Switch1(config-if)#switchport mode trunk
Switch1(config-if)#switchport trunk native vlan 77
f0/10을 native vlan용으로 지정 (양쪽 스위칭)
Switch0(config-if)#int f0/10
Switch0(config-if)#switchport mode access
Switch0(config-if)#switchport access vlan 77
Switch1(config-if)#int f0/10
Switch1(config-if)#switchport mode access
Switch1(config-if)#switchport access vlan 77
pc 추가 후 연결
Switch0(config)#int f0/20
Switch0(config-if)#switchport mode trunk
Switch0(config-if)#switchport trunk allowed vlan add 77
Switch1(config)#int f0/20
Switch1(config-if)#switchport mode trunk
Switch1(config-if)#switchport trunk allowed vlan add 77
DynamicTrunkingProtocol
양쪽 스위치간 negotiation을 통해 동적으로 결정하는 방식
InterVLAN : ROUTER
라우팅을 통해 VLAN10과 VLAN20끼리 통신
Router(config)#int f0/0
Router(config-if)#no shutdown
-- sub interface = 논리적인 인터페이스
Router(config-subif)#int f0/0.10
Router(config-if)#int f0/0.10
Router(config-subif)#encapsulation dot1Q 10
Router(config-subif)#ip address 192.168.100.254 255.255.255.0
Router(config-subif)#int f0/0.20
Router(config-subif)#encapsulation dot1Q 20
Router(config-subif)#ip address 192.168.200.254 255.255.255.0
switch0(config-if)#int f0/19
switch0(config-if)#switchport mode trunk
switch0(config-if)#switchport trunk allowed vlan 10,20
Router(config-subif)#do sh ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 unassigned YES unset up up
FastEthernet0/0.10 192.168.241.254 YES manual up up
FastEthernet0/0.20 unassigned YES unset up up
vlan 20인 경우 TTL=127인 것을 확인
이유는 라우터를 통해서 들어왔기 때문
vlan 생성
Switch0(config)#vlan 10
Switch0(config-vlan)#exit
Switch0(config)#vlan 20
Switch0(config-vlan)#exit
인터페이스 별 vlan 설정
Switch0(config)#int f0/1
Switch0(config-if)#switchport mode access
Switch0(config-if)#switchport access vlan 10
Switch0(config-if)#int f0/2
Switch0(config-if)#switchport mode access
Switch0(config-if)#switchport access vlan 10
Switch0(config-if)#int f0/3
Switch0(config-if)#switchport mode access
Switch0(config-if)#switchport access vlan 20
Switch0(config-if)#int f0/4
Switch0(config-if)#switchport mode access
Switch0(config-if)#switchport access vlan 20
L2 가상 인터페이스 생성
Switch0(config)#int vlan 10
Switch0(config-if)#ip addr 192.168.150.200 255.255.255.0
Switch0(config-if)#int vlan 20
Switch0(config-if)#ip addr 192.168.250.200 255.255.255.0
L2 trunk 설정
Switch0(config)#int f0/24
Switch0(config-if)#switchport mode trunk
Switch0(config-if)#switchport trunk allowed vlan 10,20
L3는 dynamic auto로 trunk 형성
L3#sh interfaces f0/24 switchport
L3 vlan 생성 후 SVI 설정
L3(config)#vlan 10
L3(config-vlan)#exit
L3(config)#vlan 20
L3(config-vlan)#exit
L3(config)#int vlan 10
L3(config-if)#ip addr 192.168.150.254 255.255.255.0
L3(config-if)#int vlan 20
L3(config-if)#ip addr 192.168.250.254 255.255.255.0
L3 라우팅 기능 활성화
L3(config)#ip routing
#sh ip route
심화 정리
ens32 인터페이스를 제외한 모든 네트워크는 출발지 주소변환 대상
주소 변환 시 ens32 주소로 변환된다
# iptables -t nat -A POSTROUTING -o ens32 -j MASQUERADE
=> xp랑 64m에서 인터넷 확인
- 출발지 주소 변환을 지정
# iptables -t nat -A POSTROUTING -s 192.168.241.0/24 -o ens32 -j MASQURADE
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens32
10.10.10.0 0.0.0.0 255.255.255.0 U 102 0 0 ens35
192.168.121.0 0.0.0.0 255.255.255.0 U 101 0 0 ens34
200.200.200.0 0.0.0.0 255.255.255.0 U 100 0 0 ens32
g/w 삭제
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32
[root@localhost ~]# systemctl restart network
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.10.0 0.0.0.0 255.255.255.0 U 102 0 0 ens35
192.168.121.0 0.0.0.0 255.255.255.0 U 101 0 0 ens34
200.200.200.0 0.0.0.0 255.255.255.0 U 100 0 0 ens32
[root@localhost ~]# ip route 0.0.0.0 0.0.0.0 200.200.200.254
Command "0.0.0.0" is unknown, try "ip route help".
디폴트라우트 설정
[root@localhost ~]# route add 0.0.0.0 netmask 0.0.0.0 gw 200.200.200.254
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 200.200.200.254 255.255.255.255 UGH 0 0 0 ens32
10.10.10.0 0.0.0.0 255.255.255.0 U 102 0 0 ens35
192.168.121.0 0.0.0.0 255.255.255.0 U 101 0 0 ens34
200.200.200.0 0.0.0.0 255.255.255.0 U 100 0 0 ens32
[root@localhost ~]# ping 8.8.8.8
connect: 네트워크가 접근 불가능합니다
=> 인터넷은 X
[root@localhost ~]# route del 0.0.0.0
[root@localhost ~]# route add default netmask 0.0.0.0 gw 200.200.200.254
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 0 0 0 ens32
10.10.10.0 0.0.0.0 255.255.255.0 U 102 0 0 ens35
192.168.121.0 0.0.0.0 255.255.255.0 U 101 0 0 ens34
200.200.200.0 0.0.0.0 255.255.255.0 U 100 0 0 ens32
iptables- F (=iptables -t filter -F)
iptables -t nat -F
다른 명령어 라는 것을 알아두기
SNAT (sourceNAT in->out) => normalNAT
출발지 주소를 지정된 주소로 전환
# ifconfig ens32:2 200.200.200.123 netmask 255.255.255.0
# iptables -t nat -A POSTROUTING -s 10.10.10.100 -j SNAT --to-source 200.200.200.123
-s 원본주소 => -j SNAT --to-source 변환될 주소
64m -> ping 8.8.8.8
DNAT(DestinationNAT out->in) => reverseNAT
# ifconfig ens32:1 200.200.200.122 netmask 255.255.255.0
# iptables -t nat -A PREROUTING -d 200.200.200.122 -j DNAT --to-destination 10.10.10.100
-d 원본주소(외부에 접근가능한주소) => -j DNAT --to-destination 변환될 주소
host -> 200.200.200.122
# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT all -- anywhere localhost.localdomain to:10.10.10.100
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 -- 10.10.10.100 anywhere to:200.200.200.123
'네트워크' 카테고리의 다른 글
NAT+VLAN (packet tracer) (0) | 2021.08.24 |
---|---|
vlan 복습과 PVST (0) | 2021.08.23 |
iptables - NAT(DNAT,SNAT,MASQUERADE) (1) | 2021.08.15 |
[GNS3] ssh 연결 개수 설정 (0) | 2021.08.05 |
[ACL] 라우터/스위치 원격으로 관리하기 (0) | 2021.08.05 |