패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk

VLAN(Virtual LAN)

L2 스위치부터 제공되는 가상의 LAN을 구성하는 기능이다.

논리적인 네트워크 분리기술로 

식별자(number)를 이용한 network 이름을 지정한다는 특징이 있다. (VLAN 10)

VLAN 사용 목적

- 네트워크(Broadcast Domain) 분리

- 보안

- 유연성 


1개의 스위치에 VLAN 연결하기 

패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk

- 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 trunk - paekisteuleiseo vlan trunk

※ VLAN을 1개만 연결(ACCESS) / 여러개 연결(TRUNK)


통신 체크
같은 vlan 끼리만 통신되는 것을 볼 수 있음 
==> 아무나 통신하지 못하게 막는 것이 vlan (보안)


2개의 스위치에 VLAN 연결하기

(앞에 실습에서 추가 !)

패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk

두번 째 스위치에 VLAN 생성 

Switch2(config)#vlan 10
Switch2(config-vlan)#exit
Switch2(config)#vlan 20
Switch2(config-vlan)#exit


인터페이스 별 VLAN 설정 

Switch2(config)#int f0/1
Switch2(config-if)#switchport mode access 
Switch2(config-if)#switchport access vlan 10

Switch2(config-if)#int f0/2
Switch2(config-if)#switchport mode access 
Switch2(config-if)#switchport access vlan 20

Switch#sh vlan brief 로 확인

패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk

vlan 1에만 연결되어 있는 것을 확인할 수 있다 (=> 통신 XXX)

패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk
케이블을 추가하여 각각 VLAN 10, 20을 정한다

각 스위치 연결 포트에 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

Switch2(config-if)#int f0/23
Switch2(config-if)#switchport mode access 
Switch2(config-if)#switchport access vlan 10
Switch2(config-if)#int f0/24
Switch2(config-if)#switchport mode access 
Switch2(config-if)#switchport access vlan 20

패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk
vlan 10과 20에 포트 연결 된 것을 확인 

!!!!!!문제점 포트의 낭비 + 복잡!!!!!!!

==> vlan 개수가 늘어나면 access 포트 연결도 늘어난다 !!!!!!!!!!!

여러개의 VLAN을 연결하기 위한 TRUNK 방식 

패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk

인터페이스에 VLAN설정 (트렁킹)

Switch0(config)#int f0/20
Switch0(config-if)#switchport mode trunk
Switch0(config-if)#switchport trunk allowed vlan 10,20switch2(config)#int f0/20 
switch2(config-if)#switchport mode trunk  
switch2(config-if)#switchport trunk allowed vlan 10,20 

-- 포트 트렁킹 확인  

switch2#sh interfaces trunk 


native vlan

- trunk에서 tagging 하지 않는 vlan

Switch0(config)#vlan 77
Switch0(config-vlan)#exit
Switch2(config)#vlan 77
Switch2(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

Switch2(config)#int f0/20
Switch2(config-if)#switchport mode trunk 
Switch2(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
Switch2(config-if)#int f0/10
Switch2(config-if)#switchport mode access
Switch2(config-if)#switchport access vlan 77

pc 추가 후 연결

패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk

Switch0(config)#int f0/20
Switch0(config-if)#switchport mode trunk
Switch0(config-if)#switchport trunk allowed vlan add 77

Switch2(config)#int f0/20
Switch2(config-if)#switchport mode trunk
Switch2(config-if)#switchport trunk allowed vlan add 77

패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk
패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk
패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk
hub가 끼면 tagged frame이 넘어갈 수 없음
패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk
native는 됨 

DynamicTrunkingProtocol

양쪽 스위치간 negotiation을 통해 동적으로 결정하는 방식


InterVLAN : ROUTER

라우팅을 통해 VLAN10과 VLAN20끼리 통신

패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk

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 trunk - paekisteuleiseo vlan trunk

vlan 20인 경우 TTL=127인 것을 확인 

이유는 라우터를 통해서 들어왔기 때문 


패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk

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

패킷트레이서 vlan trunk - paekisteuleiseo vlan trunk

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