Network

오픈소스 비즈니스 컨설팅
이동: 둘러보기, 검색

OSI 7 계층 구조

계층
장비 상세
7

Application Layer

(응용 계층)

L7 Switch

Gateway

  • L7 Switch : 부하 분산, 리디렉션, 필터링, VPN 등
  • 네트워크 가상 터미널
  • 파일 액세스/전송/관리, 우편 서비스, 디렉토리 서비스
6

Presentation Layer

(표현 계층)

Gateway
  • 변환, 암호화, 압축, 보안
5

Session Layer

(세션 계층)

Gateway
  • 세션 관리, 동기화, 대화 제어, 원활한 종료
4

Transport Layer

(전송 계층)

L4 Switch

Gateway

  • L4 Switch : Load Balance, Fail Over
  • 종단-대-종단 전달, 서비스-점 주소 지정, 분할과 재조립, 연결 제어
3

Network Layer

(네트워크 계층)

Router

L3 Switch

  • L3 Switch
  • Router : 외부 네트워크로 연결 가능
  • Switching : 물리적 링크간의 일시적인 연결
  • Routing : 최적의 경로로 연결
  • 발신지-대-목적지 전달 (IP로 연결)
  • 논리적인 주소 지정, 라우팅, 주소 변환, 다중화
2

Data Link Layer

(데이터 링크 계층)

Bridge

L2 Switch

  • L2 Switch
  • Bridge :이더넷 장비를 물리적으로 연결
  • node-to-node 전달 (MAC으로 연결)
  • 주소 지정, 접근 제어, 흐름 제어, 오류 처리, 동기화
1

Physical Layer

(물리 계층)

Repeater

Hub

  • Repeater : 단순히 전기적인 신호만 증폭
  • Hub : 여러대의 장비를 LAN에 접속

Linux

Ubuntu Server Network 설정

  • ifconfig -a : lo, eth0, eth1 등의 이름을 확인할 수 있다.
  • 네트워크 카드(eth0)를 유동 아이피(DHCP)로 설정할 경우
  • vi /etc/network/interfaces 파일에서 다음과 같이 추가 또는 수정 한다.
auto eth0
iface eth0 inet dhcp
  • Network Card를 재시작 합니다.
ifdown eth0
ifup eth0
  • /etc/init.d/networking restart : Network 재시작
  • 네트워크 카드(eth0)를 고정 아이피로 설정할 경우
  • vi /etc/network/interfaces 파일에서 다음과 같이 추가 또는 수정 한다.
auto eth0
iface eth0 inet static
 address 203.256.15.23      #--- address 앞부분은 tab을 사용해야 한다.
 netmask 255.255.255.0
 network 203.256.15.0
 broadcast 203.256.15.255
 gateway 203.256.15.1
 dns-nameservers 203.231.11.118 203.231.11.115
  • vi /etc/resolv.conf 를 열어서 아래와 DNS 서버를 입력
  • 가상 환경에서 NAT를 설정 하였을 경우 resolv.conf가 초기화 되는 문제가 발생 한다.
nameserver 164.124.101.2
nameserver 168.126.63.1
nameserver 203.231.11.118
nameserver 203.231.11.115
nameserver 210.220.163.82
nameserver 219.250.36.130
  • /etc/init.d/networking restart : Network 재시작

CentOS Network 설정

  • CentOS에 있는 네트워크 카드명을 확인 한다.
  • ifconfig -a : lo, eth0, eth1 등의 이름을 확인할 수 있다.
  • /etc/sysconfig/network-scripts/ifcfg-eth0 에 네트워크 카드를 위한 설정이 저장 된다.
#--- eth0 네트워크 카드에 고정 IP 설정시
DEVICE=eth0
BOOTPROTO=static                 #--- none을 사용할 수 있습니다.
ONBOOT=yes
IPADDR=10.0.0.11
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes

#--- eth4 네트워크 카드에 DHCP 설정시
DEVICE=eth4
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
  • /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain   #--- 호스트명과 도메인명 지정
# HOSTNAME=localhost
# DOMAINNAME=localdomain
  • /etc/hosts #--- 호스트명 지정
127.0.0.1               localhost.localdomain localhost
  • /etc/resolv.conf #--- DNS를 위한 네임서버를 지정 한다.
search local cloudserver.com
nameserver 164.124.101.2  #--- 데이콤에서 사용하는 nameserver IP
nameserver 168.126.63.1   #--- 코넷에서 사용하는 nameserver IP
  • /etc/host.conf
#--- 호스트명 찾는 우선 순위 지정, hosts. /etc/hosts, bind. DNS 서버
multi on
order hosts,bind   #--- /etc/hosts 파일에서 찾고 없을 경우 DNS 서버에서 찾는다.
  • vi /etc/hostname
osnode101.openstack.com
  • 기타 설정 파일
vi /etc/services
vi /etc/protocols
  • Network 설정 GUI 명령어
system-config-network
  • Network 설정이 마무리 되면 network 서비스를 재기동 한다.
ifdown eth0
ifup eth0

service  network  restart

  • 참고 문헌

SSH Port Forwarding

IP Alias

  • VIP (Virtual IP)
  • IP Alias는 하나의 인터페이스 카드에 여러개의 가상아이피(내부IP 또는 실제IP)를 설정하는 것
  • Windows에서 IP Alias
  • 네트워크 -> 속성
  • Internet Protocol Version 4 (TCP/IPv4) 선택 -> 속성 -> 고급
  • IP 주소 추가
  • Ubuntu Server에서 IP Alias
  • 임시 IP Alias 설정
ifconfig eth0:1 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255
  • 영구 IP Alias 설정
cd /etc/sysconfig/network-script/
cp ifcfg-eth0 ifcfg-eth0:0
DEVICE=eth0:0
BOOTPROTO=static
IPADDR=192.168.1.1
onBOOT=yes
USERCTL=no 

DEVICE=eth0:1
onBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.2
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BORADCAST=192.168.1.255
USERCTL=no
​

Bonding

NIC 여러개를 묶어서 하나의 NIC로 제공 합니다.

Bonding 방식

  • 하나의 서버에 있는 NIC를 bonding
  • 두개 이상의 서버에 있는 NIC를 bonding (특별한 H/W가 준비되어야 합니다)

Bonding의 다른 표현

  • 이더넷 본딩(Ethernet bonding) : Linux 장비에서 사용하는 용어
  • 포트 트렁킹(port trunking)
  • 채널 티밍(channel teaming)
  • NIC 티밍(teaming) : Windows Server에서 사용하는 용어
  • 링크 통합(link aggregation) : Switch 장비 등에서 사용하는 용어
    • 서로 다른 Network 장비 여러 NIC를 하나로 묶는 방법
  • APA : HP 장비에서 사용하는 용어

vi /etc/sysconfig/network-scripts/ifcfg-bond0

apt-get install ifenslave
modprobe bonding
lsmod | grep bonding

참고 문헌

Route 설정

Route 조회

route
route -n
netstat -rn
netstat -r

ip route
ip route list

Route 등록

route add -host 222.222.222.38 gw 10.100.100.1
route add -net 아이피 netmask 넷마스크 gw ~ dev 장치명
# route add -net 27.102.82.0 netmask 255.255.255.0 gw 27.102.82.1 dev eno2
ip route add 192.0.2.0/24 via 10.0.0.1 [dev ifname]
vi  /etc/sysconfig/network-scripts/route-*

vi /etc/sysconfig/static-routes

참고 문헌

CentOS Network

TCP/IP 설정

vi  /etc/sysctl.conf                #--- 커널 관련 설정 파일
    /proc/sys/~ 파일에 설정값이 저장됨

sysctl -a                             #--- 설정값 조회

sysctl -w 변수="변수값"         #--- 설정값 지정
    sysctl -w net.ipv4.tcp_fin_timeout=30    #--- FIN_WAIT2의 timeout 시간을 30초로 지정 (Default는 60초 임)

참고 문헌

NIC 설정

NIC 설정 파일

/etc/sysconfig/network-scripts/ifcfg-* (eth0, eth1, ...)

DHCP 설정

DEVICE=eth2
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp

Static 설정

DEVICE=eth0
BOOTPROTO=static 
ONBOOT=yes 
IPADDR=10.20.0.2 
NETMASK=255.255.255.0 
GATEWAY=10.20.0.1 
TYPE=Ethernet 
USERCTL=no 
IPV6INIT=no
PEERDNS=yes

ifdown eth0
ifup eth0

service network restart            #--- CentOS 6.0
systemctl restart network         #--- CentOS 7.0

참고 문헌

NIC 설정 명령어

Network 조회

ifconfig -a
ip link list
ip link show
ip addr show
netstat -i

IP 설정 1

ip addr add 192.168.1.101/24 brd 192.168.1.255 dev eth0
ip link set dev eth0 up
ip addr show

IP 설정 2

ifconfig eth0 192.168.1.101/24 up
ifconfig eth0 192.168.1.101 netmask 255.255.255.0 broadcast 192.168.1.255 up

NIC, Network 기동 종료

ifdown eth0
ifup eth0

service network restart
systemctl restart network

MTU 설정

Maximum Transmission Unit

1회 전송(1개의 프레임)으로 송신할 수 있는 데이터의 최대값

ip link show eth0
ip link set eth0 mtu 9000

Gateway (Route)

Route가 여러개 설정되어 있는 경우 metric가 높은 라우터가 사용 됩니다.

Gateway 조회

route
route -n

Gateway 설정

vi /etc/sysconfig/network-scripts/ifcfg-eth?
    GATEWAY=10.20.0.1

vi /etc/sysconfig/network          #--- Default Gateway 설정
    GATEWAY=~

vi /etc/sysconfig/network-scripts/route-eth0
    ADDRESS0=IP대역
    NETMASK0=~
    GATEWAY0=~

    ADDRESS1=IP대역
    NETMASK1=~
    GATEWAY1=~

Gateway 임시 설정

route add default gw 192.168.0.2 dev eth0
route del default gw 192.168.0.2 dev eth0

참고문헌

VLAN (Virtual LAN)

Linux Module 설정

lsmod | grep 8021q
modprobe 8021q

VLAN 생성

ip link add eth0 name vlan101 type vlan id 101
ip -d link show vlan101
​ip link set vlan101 up
ip addr show

vconfig add eth0 101
ifconfig eth0.101 192.168.1.101 netmask 255.255.255.0 broadcast 192.168.1.255 up

vi /etc/sysconfig/network-scripts/ifcfg-eth0.101

DEVICE=eth0.101
​VLAN=yes

VALN 삭제

ip link set vlan101 down
ip link delete vlan101

ifconfig eth0.101 down
​vconfig rem eth0.101

참고 문헌

IP Masquerade (NAT)

IP Masquerade (MASQ, IPMASQ)는 Linux의 NAT 기능 입니다.

mkdir -p /etc/sysctl.d/
vi  /etc/sysctl.d/nat.conf
    net.ipv4.ip_forward = 1
    net.ipv4.conf.eth0.send_redirects = 0

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects

iptables (방화벽) 설정 eth0에 들어온 요청을 NAT 처리

iptables -t nat -A POSTROUTING -o eth0 -s 0.0.0.0/0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptables

다른 NIC에 들어온 요청을 eth0를 통하여 NAT 처리

iptables -A FORWARD -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o etho -j MASQUERADE
iptables-save > /etc/sysconfig/iptables

무작위 모드 (promiscous mode)

모든 네트워크 트래픽을 받아 들이도록 설정

ifconfig eth0 promisc
ifconfig eth0 0.0.0.0 promisc up

CentOS IP Alias

IP Alias는 NIC에 여러개의 IP를 부여하는 방법 입니다. 

CentOS 6.x

일시적으로 IP Alias 설정

ifconfig eth0:0 192.168.1.101 up
ifconfig eth0:0 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255

영구적으로 IP Alias 설정 (eth0:0, eth0:1, ...)

vi  /etc/sysconfig/network-scripts/ifcfg-eth0:0

CentOS 7.0

IPADDR=198.51.100.5
PREFIX0=24
GATEWAY0=198.51.100.1

IPADDR1=192.0.2.6
PREFIX1=24

DSR (Direct Server Return) 구성

L4 Switch 등의 장비를 통해서 들어오는 요청을 L4 장비를 거치지 않고 바로 client로 반환할 때, L4 Switch의 Public IP를 사용하여 반환되도록 하는 설정 방법 입니다.

vi /etc/sysconfig/network-scripts/ifcfg-lo:0
    DEVICE=lo:0 
    IPADDR=192.168.123.20                    #--- L4 장비의 Public IP
    NETMASK=255.255.255.255                #--- Loopback 주소를 broadcast하는 것을 방지
    NETWORK=192.168.123.0 
    BROADCAST=192.168.123.255 
    onBOOT=yes

vi  /etc/sysctl.conf                               #--- ARP 문제로 인해 필요시
    net.ipv4.conf.lo.arp_ignore = 1
    net.ipv4.conf.lo.arp_announce = 2 
    net.ipv4.conf.all.arp_ignore = 1
    net.ipv4.conf.all.arp_announce = 2

참고 문헌

CentOS Bonding

두개의 NIC (eth0, eth1)을 묶어서 bond0 네트워크를 생성 합니다.

Bonding module 로딩

modprobe --first-time bonding
modinfo bonding
lsmod | grep bonding

vi  /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
TYPE=Bond                                       #--- Interface Type
IPADDR=192.168.1.150
PREFIX=24
ONBOOT=yes
BOOTPROTO=static
BONDING_MASTER=yes                              #---
BONDING_OPTS="mode=1 miimon=100"                #--- Bonding mode 지정, 모니터링 주기 100 ms
#BONDING_OPTS="mode=4 miimon=100 lacp_rate=1"   #--- LACP 설정

vi /etc/modprobe.d/bonding.conf 파일을 만들어 BONDING_OPTS를 설정할 수도 있음
    alias bond0 bonding
    options bond0 mode=6 miimon=100

vi  /etc/sysconfig/network-scripts/ifcfg-eth0, ifcfg-eth1

DEVICE=eth0
TYPE="Ethernet"
ONBOOT="yes"
BOOTPROTO="none"                                #---    
MASTER=bond0                                    #--- Binding NIC 이름 지정
SLAVE=yes                                       #---

systemctl restart network

Bonding 정보 조회

cat /proc/net/bonding/bond0

Gateway에 등록

vi /etc/sysconfig/network
    GATEWAYDEV=bond0

Bonding Mode

No Mode 상세
mode=0 balance-rr Round-robin policy
mode=1 active-backup Active-backup policy
mode=2 balance-xor MAC address의 XOR값 사용
mode=3 broadcast Broadcast policy
mode=4 802.3ad Dynamic link aggregation (IEEE 802.3ad), LACP
Aggregation group 생성
mode=5 balance-tlb Adaptive transmit load balancing
mode=6 balance-alb Adaptive load balancing

CentOS Teaming

CentOS 7에서 지원하는 Bonding으로 기존의 Bonding보다 효율이 좋습니다.

Teaming 모듈 로드와 teamd 패키지 설치

modprobe team
yum -y install teamd

vi  /etc/sysconfig/network-scripts/team0
DEVICE=team0
NAME=team0
BOOTPROTO=static
IPADDR=192.168.122.120
NETMASK=255.255.255.0
GATEWAY=192.168.122.1
ONBOOT=yes
PREFIX=24
DEVICETYPE=Team                                                                                       #---
TEAM_CONFIG='{"runner":{"name":"activebackup"},"link_watch":{"name":"ethtool"}}'     #---

Runner 종류

  • broadcast
  • roundrobin
  • activebackup
  • loadbalance
  • lacp
vi  /etc/sysconfig/network-scripts/ifcfg-eth0, eth0
DEVICE=eth1
NAME=eth1
HWADDR=52:54:00:8c:33:ba
ONBOOT=yes
DEVICETYPE=TeamPort                        #---
TEAM_MASTER=team0                          #--- Team master 지정
TEAM_PORT_CONFIG='{"prio":99}'             #--- prio. 우선순위 


Teaming 정보 조회

teamnl team0 ports
teamdctl team0 state

Linux Bridge

Linux Bridge를 사용하면 아래와 같은 이점이 있습니다.

  • Bridge에 방화벽 설정 가능
  • Bridge를 통해 서로 다른 네트워크를 연결

Bridge 모듈 설치

yum -y install bridge-utils

eth0를 br0 bridge에 연결

vi  /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge                             #--- Device type
ONBOOT=yes
BOOTPROTO=static
DELAY=0                                 #---
IPADDR=192.168.0.240
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

vi  /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0                            #--- Bridge 지정
PROMISC=yes                           #--- Promisc 모드 설정


Bridge 상태 확인

brctl show
​ip  --statistics link list
netstat --all --interfaces

Port Forward 설정

vi  /etc/sysctl.conf 
    
net.ipv4.ip_forward = 1


brctl을 사용하여 Bridge 설정

brctl addbr br0                       #--- br0 Bridge 추가
brctl addif br0 eth0                  #--- br0 Bridge에 eth0 NIC 연결  
# brctl delbr br0
# brctl delif br0 eth0

ifconfig eth0 0.0.0.0 promisc up      #--- eth0 NIC를 promisc 모드로 변경
vi  /etc/sysctl.conf 
    net.ipv4.ip_forward = 1

Linux Namespace

Linux Namespace 중 Network Namespace 참조

Windows

Windows 8에서 네트워크 제한 오류 처리

네트워크 필터 갯수를 1개(Default)에서 8개로 늘임

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network
  • 이름: MaxNumFilters (없는 경우 만들면 됨)
  • 종류: REG_DWORD
  • 데이터: 8

연결 브리지

연결 브리지는 여러개의 네트워크를 연결하여 새로운 가상의 네트워크를 생성 한다. 이를 통해 연결 브리지된 네트워크는 새로 생성된 가상의 네트워크를 통해 외부에 접속할 수 있다.

  • 두개의 네트워크를 연결하여 연결 브리지를 생성 한다.
  • 연결 브리지를 만들 두개의 네트워크를 선택 한다.
  • 오른쪽 마우스를 눌러 "연결 브리지" 메뉴를 선택 한다.
연결 브리지 생성


  • 연결 브리지인 "네트워크 브리지"가 생성된 것을 확인 한다.
  • 연결 브리지를 만들기 위해 선택된 네트워크에는 "브리지됨"이라고 표시 된다.
  • 두개의 네트워크를 연결한 연결 브리지인 "네트워크 브리지"가 생성된 것을 확인 한다.
네트워크 브리지


  • "네트워크 브리지"의 네트워크를 설정 한다.
  • 네트워크 브리지에서 오른쪽 마우스를 선택 한 후 "속성"을 선택 한다.
  • "어댑터"에서 "네트워크 브리지"에 포함된 네트워크를 선택할 수 있다.
  • 연결 브리지는 하나의 네트워크 IP를 가지고 접속할 수 있고 연결 브리지에 포함된 네트워크("브리지됨"으로 표시됨)는 이 대표 IP로 외부와 통신을 한다.
어댑터 관리
  • 기타 네트워크 설정은 기존의 네트워크 설정과 동일하므로 생략 한다.


  • 참고 문헌

Windows 가상 랜카드

Windows에 포함되어 있는 Microsoft Loopback Adapter를 사용하여 가상의 랜카드를 추가하여 자체 네트워크를 구축 한다.

  • Windeows Vista에서 "제어판 -> 추가 옵션 -> 하드웨어 및 소리 -> 하드웨어 및 장치 보기" 메뉴에서 네트워크 어댑터를 선택한 후 "동작 -> 레거시 하드웨어 추가" 메뉴를 선택하여 가상의 네트워크 어댑터를 추가 한다.


  • "다음" 버튼을 선택하여 네트워크 어댑터를 추가 한다.
네트워크 어댑터 추가 시작


  • "목록에서 직접 선택한 하드웨어 설치(고급)"을 선택한 후 "다음" 버튼을 누른다.
하드웨어 선택 옵션


  • "네트워크 어댑터"를 선택한 후 "다음" 버튼을 누른다.
네트워크 어댑터 선택


  • 네트워크 어댑터를 아래와 같이 선택 한다.
  • 제조업체 : Microsoft
  • 네트워크 어댑터 : Microsoft Loopback Adapter
네트워크 어댑터 선택


  • "다음" 버튼을 선택하여 선택한 네트워크 어댑터를 설치 한다.
네트워크 어댑터 설치


  • "마침" 버튼을 눌러 네트워크 어댑터 설치를 완료 한다.
네트워크 어댑터 설치 완료


  • 장치 관리자의 네트워크 어댑터에 "Microsoft Loopback Adapter"가 추가 된 것을 확인할 수 있다.
설치 확인


  • 참고 문헌

Windows 7, Virtual WiFi Miniport Adapter

Windows 7에서 제공하는 Virtual WiFi Miniport Adapter를 사용하여 가상의 무선 AP를 만들어 봅시다.

  • 인터넷이 연결된 어뎁터에서 속성을 선택 합니다.
  • "공유"탭에서 "다른 네트워크 사용자가 이 컴퓨터의 인터넷 연경를 통해 연결할 수 있도록 허용"을 선택 합니다.
  • "홈 네트워킹 연결"에서는 이미 존재하고 있는 Virtual WiFi Miniport Adapter를 선택 합니다.
  • netsh wlan start hostednetwork
  • 기타 설정
  • netsh wlan show drivers
  • netsh wlan show hostednetwork
  • netsh wlan set hostednetwork mode=allow "ssid=My-PC" "key=12344321" keyUsage=persistent

Windows을 무선 액세스 포인터로

windows 10 모바일 핫스팟

"시작 > 설정 > 네크워크 및 인터넷 > 모바일 핫스팟" 메뉴를 선택 합니다.

  • 네트워크 이름 : 설정할 것
  • 네트워크 암호 : 설정할 것

모바일 핫스팟을 "켬"으로 설정하면 핫스팟을 사용할 수 있습니다.

hotspot.png

주의) 컴퓨터가 사용 중지 상태가 되었다가 다시 사용 상태가 되면 핫스팟이 해제 됩니다.

Windows 7을 무선 액세스 포인터로

Windows 7을 무선 액세스 포인터로 만들어 주는 Connectify를 설치하여 사용해 봅시다.

  • 이름와 이메일 주소를 요구 합니다.
  • 다운로드 받은 파일을 실행하여 Connectify를 설치 합니다.
  • Tray에 있는 Connectify를 클릭하여 네트워크 설정을 한다.
  • WiFi Name: "pnusSens", 무선으로 공유할 이름을 입력 한다.
  • Password: 숫자로 10~16자리 암호를 입력 한다.
  • Internet: "로컬 영역 연결", 공유할 네트워크를 선택 합니다.
  • "Start Hotspot" 버튼을 누르면 설정이 완료 됩니다.

Connectify 설정

  • 다른 컴퓨터에서 "pnusSens" 무선 네트워크를 검색하여 사용하면 됩니다. 접속시 암호는 위에서 입력한 암호를 사용 합니다.
  • 참고 문헌

Windows 8을 무선 액세스 포인터로

  • 참고 문헌

Windows 7 네트워크 공유하기

  • "네트워크 및 공유 센터 -> 어댑터 설정 변경 -> 로컬 영역 연결 -> 속성 -> 공유" 메뉴를 선택 합니다.
  • "다른 네트워크 사용자가 이 컴퓨터의 인터넷 연결을 통해 연결할 수 있도록 허용"을 체크 하고 "무선 네트워크 연결"을 선택 합니다.
  • "네트워크 및 공유 센터 -> 무선 네트워크 관리 -> 추가" 메뉴를 선택 합니다.
  • "애드혹 네트워크 만들기"를 선택하여 네트워크를 추가 합니다.
  • 네트워크 이름 :
  • 보안 종류 : WEP
  • 보안 키 : 13자 입력
  • "이 네트워크 저장" 체크

유선 LAN을 와이파이로 공유

netsh wlan show drivers
netsh wlan show settings

netsh wlan set hostednetwork mode=allow ssid=아이디 key=비밀번호
netsh wlan start hostednetwork

netsh wlan show hostednetwork
#--- 유선 LAN에서 공유 설정할 것

netsh wlan stop hostednetwork

Windows 7 IP Routing

  • regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters\IPEnableRouter = 1

IP 주소

클래스 공인 IP 사설 IP
A
  • 1 ~ 126.xxx.xxx.xxx
  • 255.0.0.0
  • 10.0.0.0 ~ 10.255.255.255
  • 255.0.0.0
B
  • 128 ~ 191.aaa.xxx.xxx
  • 255.255.0.0
  • 172.16.0.0 ~ 172.32.255.255
  • 255.255.0.0
C
  • 192 ~ 223.aaa.bbb.xxx
  • 255.255.255.0
  • 192.168.0.0 ~ 192.168.255.255
  • 255.255.255.0
D
  • 224 ~ 239 (멀티캐스트용)


  • Classless Inter-Domain Routing (CIDR)
    • 10.0.0.0/16
    • 10.0.0.0/28
    • 172.16.0.0/16

Appliance

  • 가상 환경에서는 4가지 형태의 Network 접속이 있다.
  • PC -> Virtual Machine, Virtual Machine -> PC
  • 외부 Network -> Virtual Machine, Virtual Machine -> 외부 Network

VMWare Network 설정

Network 모드 상세 설명
Birdge
  • 가상 머신이 호스트를 브리지로 사용하여 직접 네트워크에 접속하는 형태
  • 가상 머신은 호스트와 무관하게 자신만의 독립적인 네트워크를 구성함
  • 가상 머신은 자신만의 IP를 받아 외부 네트워크와 연결 가능
Host-only
  • 외부와 단절된 네트워크로 호스트와 다른 게스트 머신만 접속이 가능 하다.
  • 호스트에 등록된 "VirtualBox Host-Only Network"를 사용하여 통신 한다.
  • "VirtualBox Host-Only Network"에 연결 브리지를 설정하여 외부와 통신이 가능 하다.
NAT
  • 네크워크 주소 변환, Network Address Translation
  • 하나의 IP를 다른 IP로 변환하는 방법
  • 비공인 IP 주소를 공인 IP 주소로 변환하는 등에 사용 된다.
  • 비공인 IP 주소 공간 (RFC 1918)
  • 네트워크 크기 8 : 10.0.0.0 ~ 10.255.255.255.255
  • 네트워크 크기 12 : 172.16.0.0 ~ 172.31.255.255
  • 네트워크 크기 16 : 192.168.0.0 ~ 192.168.255.255
  • 가상 머신에 사설 IP를 할당하고 인터넷 접속시에는 호스트의 IP를 사용하여 통신 한다.
  • 기본으로 DHCP 서버를 제공하여 DHCP를 사용하지 않을 경우 수동으로 IP를 설정 한다.
  • 가상 머신을 외부와 직접 연결하기 위해서는 연결 브리지, 포트 포워딩(Port Forwarding)을 사용 한다.

VirtualBox Network 설정

  • VirtualBox를 시작 한다.
  • 가상 머신을 선택한 후 "설정" 버튼을 선택 한다.
  • 새로 뜨는 창에서 네트워크 메뉴를 선택 한다.
  • 어댑터 1에서 "다음에 연결됨"을 아래 사항을 참조하여 설정 한다.
다음에 연결됨 상세 설명
연결되지 않음
  • Not attached
  • 네트워크에 연결 되지 않는다.
NAT
(Network Address Translation)
  • 네크워크 주소 변환 (NAT, Network Address Translation)
  • 하나의 IP를 다른 IP로 변환하는 방법
  • 비공인 IP 주소를 공인 IP 주소로 변환하는 등에 사용 된다.
  • 비공인 IP 주소 공간 (RFC 1918)
  • 네트워크 크기 8 : 10.0.0.0 ~ 10.255.255.255.255
  • 네트워크 크기 12 : 172.16.0.0 ~ 172.31.255.255
  • 네트워크 크기 16 : 192.168.0.0 ~ 192.168.255.255
  • 가상 머신에 사설 IP를 할당하고 인터넷 접속시에는 호스트의 IP를 사용하여 통신 한다.
  • 기본으로 DHCP 서버를 제공하여 DHCP를 사용하지 않을 경우 수동으로 IP를 설정 한다.


  • Network 접속 방법 : 게스트 머신 -> 인터넷/호스트 머신 : Default로 접속을 지원 한다.
  • Network 접속 방법 : 게스트 머신 <- 인터넷/호스트 머신
  • 포트 포워딩(Port Forwarding)을 사용 한다.
  • 가상 머신의 설정에서 네트워크를 NAT로 설정하면 하단에 Port Forwarding을 관리할 수 있는 버튼이 활성화 된다.
NAT Network

"파일 > 환경 설정 > 네크워크 > NAT 네트워크" 메뉴에서 설정한 NAT network을 여러 VM이 공유 한다.
NAT 네크워크에서 설정된 것을 공유기라고 생각하면 편리 하다.

브리지 어댑터
(Bridged Adapter)
  • 가상 머신이 호스트를 브리지로 사용하여 직접 네트워크에 접속하는 형태
  • 가상 머신은 호스트와 무관하게 자신만의 독립적인 네트워크를 구성함
  • 가상 머신은 자신만의 IP를 받아 외부 네트워크와 연결 가능


  • Network 접속 방법 : 게스트 머신 -> 인터넷
  • Network 접속 방법 : 게스트 머신 -> 호스트 머신
  • Network 접속 방법 : 게스트 머신 <- 인터넷
  • Network 접속 방법 : 게스트 머신 <- 호스트 머신
내부 네트워크
(Internal networking)
  • Internal Network
  • Internal Network만 사용하도록 설정 한다.
  • 같은 Internal Network상에 있는 다른 VM과는 통신이 가능 하다.


  • Network 접속 방법 : 게스트 머신 -> 인터넷
  • Network 접속 방법 : 게스트 머신 -> 호스트 머신
  • Network 접속 방법 : 게스트 머신 <- 인터넷
  • Network 접속 방법 : 게스트 머신 <- 호스트 머신
호스트 전용 어댑터
(Host-only Adapter)
  • 외부와 단절된 네트워크로 호스트와 다른 게스트 머신만 접속이 가능 하다.
  • 호스트에 등록된 "VirtualBox Host-Only Network"를 사용하여 통신 한다.
  • "VirtualBox Host-Only Ethernet Adapter" 설정
  • "제어판->네트워크 및 인터넷 -> 네트워크 연결 -> VirtualBox Host-Only Network -> Internet Protocol Version 4 (TCP/IPv4)" 메뉴를 선택 합니다
  • IP 주소 : 192.168.56.1
  • 서브넷 마스크 : 255.255.255.0
  • "파일 -> 환경 설정 -> 네트워크 -> VirtualBox Host-Only Ethernet Adapter" 메뉴를 선택 합니다.
  • 어댑터
  • IPv4 주소 : 192.168.56.1
  • IPv4 서브넷 마스크 : 255.255.255.0
  • DHCP 서버
  • 서버 사용함 선택
  • 서버 주소 : 192.168.56.100
  • 서버 마스크 : 255.255.255.0
  • 최저 주소 한계 : 192.168.56.101
  • 최대 주소 한계 : 192.168.56.254


  • Network 접속 방법 : 게스트 머신 -> 인터넷
  • Network 접속 방법 : 게스트 머신 -> 호스트 머신 : Default로 접속을 지원 한다.
  • Network 접속 방법 : 게스트 머신 <- 인터넷
  • Network 접속 방법 : 게스트 머신 <- 호스트 머신 : Default로 접속을 지원 한다.
일반 드라이버
  • 호스트에서만 테스트용으로 연동하여 사용할 경우 네트워크 설정
  • "파일 -> 환경설정 -> 네트워크" 메뉴에서 VirtualBox Host-Only Ethernet Adapter를 추가 한다.
  • IPv4 주소 : 192.168.~.1
  • IPv4 서브넷 마스크 : 255.255.255.0
  • 가상 시스템의 "설정 -> 네트워크" 메뉴에서 어댑터를 2개 추가 한다.
  • 어댑터 1 : NAT (고정 IP를 설정하지 마세요)
  • 어댑터 2
  • 다음에 연결됨 : 호스트 전용 어댑터
  • 이름 : 위에서 추가한 VirtualBox Host-Only Ethernet Adapter를 선택

VirtuaBox 포트 포워딩

  • Port Forwarding, 일종의 서버에서의 IP 공유
  • 가상 머신의 포트를 Host Machine의 포트와 연결 시켜서 Host Machine의 포트로 가상 머신을 접근할 수 있도록 하는 방법


  • 아래는 VirtualBox에서 호스트의 2222 Port를 가상 머신의 22 Port로 연결하는 방법 이다.
  • 주의: Linux와 Unix 계열의 경우, root 사용자로 실행되는 프로그램만이 호스트 포트가 1024보다 작을 수 있다.
  • 가상 머신 이름 예 : alfresco, 처음 가상 머신을 만들 때 사용한 이름
  • 네트워크 카드 이름 예 : pcnet, e1000
  • pcnet : Pcnet-FAST III 등 사용 시
  • e1000 : Intel PRO/1000 등 사용 시
  • 포트 포워딩 이름 예 : guestssh, 임의로 정한다.
  • Protocol : TCP, UDP
#--- Vista에서 명령 실행시 저장 오류가 발생할 경우 관리자 권한으로 cmd 파일을 실행하여 아래 작업을 한다.
cd C:/Program Files/Sun/VirtualBox
VBoxManage setextradata "가상_머신_이름"
    "VBoxInternal/Devices/네트워크_카드_이름/0/LUN#0/Config/포트_포워딩_이름/Protocol" TCP
VBoxManage setextradata "가상_머신_이름"
    "VBoxInternal/Devices/네트워크_카드_이름/0/LUN#0/Config/포트_포워딩_이름/GuestPort" 22
VBoxManage setextradata "가상_머신_이름"
    "VBoxInternal/Devices/네트워크_카드_이름/0/LUN#0/Config/포트_포워딩_이름/HostPort" 2222
#--- 설정 후 Virtual Machine을 다시 시작 하여야 한다.
#--- 아래는 포트 포워딩 사례
VBoxManage setextradata "CentOS530" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/telnets/Protocol"  TCP
VBoxManage setextradata "CentOS530" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/telnets/GuestPort" 22
VBoxManage setextradata "CentOS530" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/telnets/HostPort"  22
VBoxManage getextradata "CentOS530" enumerate
  • 포트 포워딩 이름을 http와 같이 많이 사용하는 이름(예약어)으로 하였을 경우 동작하지 않는 경우가 있다. 이때에는 pphttp 등으로 이름을 변경하여 사용 하여야 한다.


  • 등록된 포트 포워딩 정보를 삭제하는 방법
VBoxManage setextradata "가상_머신_이름"
    "VBoxInternal/Devices/네트워크_카드_이름/0/LUN#0/Config/포트_포워딩_이름/Protocol"
VBoxManage setextradata "가상_머신_이름"
    "VBoxInternal/Devices/네트워크_카드_이름/0/LUN#0/Config/포트_포워딩_이름/GuestPort"
VBoxManage setextradata "가상_머신_이름"
    "VBoxInternal/Devices/네트워크_카드_이름/0/LUN#0/Config/포트_포워딩_이름/HostPort"
  • VirtualBox에 등록된 정보 보기
  • VBoxManage getextradata "가상_머신_이름" enumerate
#--- 위 명령으로 조회한 사례
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/telnets/Protocol, Value: TCP
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/telnets/HostPort, Value: 22
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/telnets/GuestPort, Value: 22
  • 참고 문헌

Oracle VirtuaBox 포트 포워딩

Oracle이 Sun을 인수한 후, Oracle VirtualBox에서 포트 포워딩 설정이 간단해 졌다.

  • 가상 머신의 설정에서 네트워크를 NAT로 설정하면 하단에 Port Forwarding을 관리할 수 있는 버튼이 활성화 된다.

Network 용어

VLAN (Virtual LAN) : http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/12/VLAN

VxLAN (Virtual Extensible LAN) : http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/12/vxlan

STP (Spanning Tree Protocol) : http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/12/stp

VPN : http://gotocloud.co.kr/?p=1280

Network 관련 Table

ARP Table

저장 위치 : NIC

관리 항목 : IP, MAC

LAN에 ARP request를 boardcast한 후 ARP reply를 받아서 IP에 해당하는 MAC address를 ARP Table에 등록

NIC에서 Promiscuous mode를 설정하면 모든 Ethernet Frame을 수신하여 IP layer로 전달

arp -a

참고 문헌

MAC table

저장 위치 : Switch

관리 항목 : MAC

show mac-address-table

Routing Table

<span style="color:#006400;"</span>node 명령어

ip route

Switch 명령어

show ip route

Network 암호

참고 문헌