Network 문서 원본 보기
←
Network
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
== OSI 7 계층 구조 == {| border="1" cellspacing="0" cellpadding="2" style="width: 100%;" |- | style="text-align: center; background-color: rgb(241, 241, 241);" rowspan="1" colspan="2" | 계층<br/> | style="text-align: center; background-color: rgb(241, 241, 241);" | 장비 | style="text-align: center; background-color: rgb(241, 241, 241);" | 상세 |- | style="text-align: center;" | 7 | style="text-align: center;" | Application Layer (응용 계층) | style="text-align: center;" | L7 Switch Gateway | *<div>L7 Switch : 부하 분산, 리디렉션, 필터링, VPN 등<br/></div> *<div>네트워크 가상 터미널<br/></div> *<div>파일 액세스/전송/관리, 우편 서비스, 디렉토리 서비스</div> |- | style="text-align: center;" | 6 | style="text-align: center;" | Presentation Layer (표현 계층) | style="text-align: center;" | Gateway<br/> | *변환, 암호화, 압축, 보안 |- | style="text-align: center;" | 5 | style="text-align: center;" | Session Layer (세션 계층) | style="text-align: center;" | Gateway<br/> | *세션 관리, 동기화, 대화 제어, 원활한 종료 |- | style="text-align: center;" | 4 | style="text-align: center;" | Transport Layer (전송 계층) | style="text-align: center;" | L4 Switch Gateway | *L4 Switch : Load Balance, Fail Over *종단-대-종단 전달, 서비스-점 주소 지정, 분할과 재조립, 연결 제어 |- | style="text-align: center;" | 3 | style="text-align: center;" | Network Layer (네트워크 계층) | style="text-align: center;" | Router L3 Switch | *L3 Switch *Router : 외부 네트워크로 연결 가능 *Switching : 물리적 링크간의 일시적인 연결 *Routing : 최적의 경로로 연결 *발신지-대-목적지 전달 (IP로 연결) *논리적인 주소 지정, 라우팅, 주소 변환, 다중화 |- | style="text-align: center;" | 2 | style="text-align: center;" | Data Link Layer (데이터 링크 계층) | style="text-align: center;" | Bridge L2 Switch | *L2 Switch *Bridge :이더넷 장비를 물리적으로 연결 *node-to-node 전달 (MAC으로 연결) *주소 지정, 접근 제어, 흐름 제어, 오류 처리, 동기화 |- | style="text-align: center;" | 1 | style="text-align: center;" | Physical Layer (물리 계층) | style="text-align: center;" | Repeater Hub | *Repeater : 단순히 전기적인 신호만 증폭 *Hub : 여러대의 장비를 LAN에 접속 |} == Linux == === Ubuntu Server Network 설정 === *[[Ubuntu Server|Ubuntu Server]]에 있는 네트워크 카드명을 확인 한다. :*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|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 재시작 *참고 문헌 : [http://www.yongbok.com/blog/entry/Debain-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%84%A4%EC%A0%95 Ubuntu 네트워크 설정] === CentOS Network 설정 === *[[CentOS|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|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 *참고 문헌 :*[http://www.tecmint.com/ifconfig-command-examples/ http://www.tecmint.com/ifconfig-command-examples/] === SSH Port Forwarding === *[http://ubuntu.or.kr/viewtopic.php?p=27819 SSH Port Forwarding(SSH Tunneling), 2009.6] *[http://blog.meson.kr/92 SSH Port Forwarding 을 이용한 Proxy 설정, 2007.5] *[http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/System_management/Proxy http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/System_management/Proxy] ] === IP Alias === *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에서 사용하는 용어 *[https://github.com/osrg/ryu-book/blob/master/ko/source/link_aggregation.rst 링크 통합(link aggregation)] : Switch 장비 등에서 사용하는 용어 **서로 다른 Network 장비 여러 NIC를 하나로 묶는 방법 *APA : HP 장비에서 사용하는 용어 vi /etc/sysconfig/network-scripts/ifcfg-bond0 apt-get install ifenslave<br/>modprobe bonding<br/>lsmod | grep bonding 참고 문헌 *[https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1844 https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1844] *[http://ktword.co.kr/abbr_view.php?m_temp1=2385 http://ktword.co.kr/abbr_view.php?m_temp1=2385] === Route 설정 === <span style="color:#006400;"><span style="font-size:larger;">'''Route 조회'''</span></span> route<br/>route -n<br/>netstat -rn<br/>netstat -r ip route<br/>ip route list <span style="color: rgb(0, 100, 0);"><span style="font-size: larger;">'''Route 등록'''</span></span> <div>route add -host 222.222.222.38 gw 10.100.100.1<br/>route add -net 아이피 netmask 넷마스크 gw ~ dev 장치명<br/>ip route add 192.0.2.0/24 via 10.0.0.1 [dev ifname]<br/>vi /etc/sysconfig/network-scripts/route-*</div> <span style="line-height: 1.6;">vi /etc/sysconfig/static-routes</span> == CentOS Network == === TCP/IP 설정 === vi /etc/sysctl.conf #--- 커널 관련 설정 파일<br/> /proc/sys/~ 파일에 설정값이 저장됨 sysctl -a #--- 설정값 조회 sysctl -w 변수="변수값" #--- 설정값 지정<br/> sysctl -w net.ipv4.tcp_fin_timeout=30 #--- <span style="line-height: 20.8px;">FIN_WAIT2의 timeout 시간을 30초로 지정 (Default는 60초 임)</span> 참고 문헌 *[http://mkseo.pe.kr/blog/?p=908 TCP SYN_Flooding 공격의 원인과 해결책, 2005.8] *http://happyhourguide.blogspot.kr/2015/06/linux-performance-and-tuning-guidelines.html === NIC 설정 === NIC 설정 파일 : /etc/sysconfig/network-scripts/ifcfg-* (eth0, eth1, ...) <span style="color:#006400;">'''DHCP 설정'''</span> <pre>DEVICE=eth2 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=dhcp</pre> <br/><span style="color:#006400;">'''Static 설정'''</span> <pre>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</pre> service network restart #--- CentOS 6.0<br/>systemctl restart network #--- CentOS 7.0 <span style="color:#006400;">'''IP 설정 확인'''</span> <pre>ifconfig [eth0] ip addr </pre> ==== Gateway (Route) ==== Route가 여러개 설정되어 있는 경우 metric가 높은 라우터가 사용 됩니다. <span style="color:#006400;">'''Gateway 조회'''</span> <pre>route route -n</pre> <span style="color:#006400;">'''Gateway 설정'''</span> vi /etc/sysconfig/network-scripts/ifcfg-eth?<br/> GATEWAY=10.20.0.1 vi /etc/sysconfig/network #--- Default Gateway 설정<br/> GATEWAY=~ vi /etc/sysconfig/network-scripts/route-eth0<br/> ADDRESS0=IP대역<br/> NETMASK0=~<br/> GATEWAY0=~<br/><br/> ADDRESS1=IP대역<br/> NETMASK1=~<br/> GATEWAY1=~ '''<span style="color:#006400;"><span style="line-height: 1.6;">Gateway 임시 설정</span></span>''' <pre>route add default gw 192.168.0.2 dev eth0 route del default gw 192.168.0.2 dev eth0 </pre> 참고문헌 *[http://junhyung2.blogspot.kr/2014/12/blog-post.html http://junhyung2.blogspot.kr/2014/12/blog-post.html] === IP Masquerade (NAT) === IP Masquerade (MASQ, IPMASQ)는 Linux의 NAT 기능 입니다. mkdir -p /etc/sysctl.d/<br/>vi /etc/sysctl.d/nat.conf<br/> net.ipv4.ip_forward = 1<br/> net.ipv4.conf.eth0.send_redirects = 0 <pre>echo 1 > /proc/sys/net/ipv4/ip_forward echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects</pre> [[Iptables|iptables]] (방화벽) 설정 eth0에 들어온 요청을 NAT 처리 <pre>iptables -t nat -A POSTROUTING -o eth0 -s 0.0.0.0/0 -j MASQUERADE iptables-save > /etc/sysconfig/iptables</pre> 다른 NIC에 들어온 요청을 eth0를 통하여 NAT 처리 <pre>iptables -A FORWARD -o eth0 -j ACCEPT iptables -t nat -A POSTROUTING -o etho -j MASQUERADE iptables-save > /etc/sysconfig/iptables</pre> === 무작위 모드 (promiscous mode) === 모든 네트워크 트래픽을 받아 들이도록 설정 <pre>ifconfig eth0 promisc ifconfig eth0 0.0.0.0 promisc up </pre> === CentOS IP Alias === IP Alias는 NIC에 여러개의 IP를 부여하는 방법 입니다. 일시적으로 IP Alias 설정 <pre>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</pre> 영구적으로 IP Alias 설정<span style="line-height: 20.8px;"> (eth0:0, eth0:1, ...)</span> vi /etc/sysconfig/network-scripts/ifcfg-eth0:0 === DSR (Direct Server Return) 구성 === L4 Switch 등의 장비를 통해서 들어오는 요청을 L4 장비를 거치지 않고 바로 client로 반환할 때, L4 Switch의 Public IP를 사용하여 반환되도록 하는 설정 방법 입니다. vi /etc/sysconfig/network-scripts/ifcfg-lo:0<br/> DEVICE=lo:0 <br/> IPADDR=192.168.123.20 #--- L4 장비의 Public IP<br/> NETMASK=255.255.255.255 #--- Loopback 주소를 broadcast하는 것을 방지<br/> NETWORK=192.168.123.0 <br/> BROADCAST=192.168.123.255 <br/> onBOOT=yes vi /etc/sysctl.conf #--- ARP 문제로 인해 필요시<br/> net.ipv4.conf.lo.arp_ignore = 1<br/> net.ipv4.conf.lo.arp_announce = 2 <br/> net.ipv4.conf.all.arp_ignore = 1<br/> net.ipv4.conf.all.arp_announce = 2 참고 문헌 *[http://board.theko.co.kr/bbs/board.php?bo_table=B11&wr_id=101 http://board.theko.co.kr/bbs/board.php?bo_table=B11&wr_id=101] *[http://xinet.kr/tc/tag/99 http://xinet.kr/tc/tag/99] === CentOS Bonding === 두개의 NIC (eth0, eth1)을 묶어서 bond0 네트워크를 생성 합니다. <span style="color:#006400;">'''Bonding module 로딩'''</span> <pre>modprobe --first-time bonding modinfo bonding lsmod | grep bonding </pre> vi /etc/sysconfig/network-scripts/ifcfg-bond0 <pre>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 설정 </pre> vi /etc/modprobe.d/bonding.conf 파일을 만들어 BONDING_OPTS를 설정할 수도 있음<br/> alias bond0 bonding<br/> options bond0 mode=6 miimon=100 vi /etc/sysconfig/network-scripts/ifcfg-eth0, ifcfg-eth1 <pre>DEVICE=eth0 TYPE="Ethernet" ONBOOT="yes" BOOTPROTO="none" #--- MASTER=bond0 #--- Binding NIC 이름 지정 SLAVE=yes #---</pre> systemctl restart network <span style="color:#006400;">'''Bonding 정보 조회'''</span> cat /proc/net/bonding/bond0 <span style="color:#006400;">'''Gateway에 등록'''</span> vi /etc/sysconfig/network<br/> GATEWAYDEV=bond0 <span style="color:#006400;">'''Bonding Mode'''</span> {| cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" |- | width="10%" align="center" valign="middle" style="background-color:#eee;" | No | width="20%" align="center" valign="middle" style="background-color:#eee;" | Mode | width="70%" align="center" valign="middle" style="background-color:#eee;" | 상세 |- | align="center" valign="middle" | mode=0 | align="center" valign="middle" | balance-rr | Round-robin policy |- | align="center" valign="middle" | mode=1 | align="center" valign="middle" | active-backup | Active-backup policy |- | align="center" valign="middle" | mode=2 | align="center" valign="middle" | balance-xor | MAC address의 XOR값 사용 |- | align="center" valign="middle" | mode=3 | align="center" valign="middle" | broadcast | Broadcast policy |- | align="center" valign="middle" | mode=4 | align="center" valign="middle" | 802.3ad | Dynamic link aggregation (IEEE 802.3ad), LACP<br/>Aggregation group 생성<br/> |- | align="center" valign="middle" | mode=5 | align="center" valign="middle" | balance-tlb | Adaptive transmit load balancing |- | align="center" valign="middle" | mode=6 | align="center" valign="middle" | balance-alb | Adaptive load balancing |} === CentOS Teaming === CentOS 7에서 지원하는 Bonding으로 기존의 Bonding보다 효율이 좋습니다. <span style="color:#006400;">'''Teaming 모듈 로드와 teamd 패키지 설치'''</span> <pre>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"}}' #---</pre> Runner 종류 *broadcast *roundrobin *activebackup *loadbalance *lacp <pre>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. 우선순위 </pre> <br/><span style="color:#006400;">'''Teaming 정보 조회'''</span> <pre>teamnl team0 ports teamdctl team0 state</pre> === Linux Bridge === Linux Bridge를 사용하면 아래와 같은 이점이 있습니다. *Bridge에 방화벽 설정 가능 *Bridge를 통해 서로 다른 네트워크를 연결 <span style="color:#006400;">'''Bridge 모듈 설치'''</span> yum -y install bridge-utils <span style="color:#006400;">'''eth0를 br0 bridge에 연결'''</span> <pre>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 모드 설정 </pre> <br/><span style="color:#006400;">'''Bridge 상태 확인'''</span> <pre>brctl show ip --statistics link list netstat --all --interfaces </pre> <span style="color:#006400;">'''Port Forward 설정'''</span> <span style="color: rgb(37, 37, 37); font-family: sans-serif; font-size: 14px; line-height: 22.4px;">vi /etc/sysctl.conf <br/> </span>net.ipv4.ip_forward = 1 <span style="color:#006400;">'''brctl을 사용하여 Bridge 설정'''</span> <pre>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 </pre> == Windows == === Windows 8에서 네트워크 제한 오류 처리 === 네트워크 필터 갯수를 1개(Default)에서 8개로 늘임 *HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network :*이름: MaxNumFilters (없는 경우 만들면 됨) :*종류: REG_DWORD :*데이터: 8 === 연결 브리지 === 연결 브리지는 여러개의 네트워크를 연결하여 새로운 가상의 네트워크를 생성 한다. 이를 통해 연결 브리지된 네트워크는 새로 생성된 가상의 네트워크를 통해 외부에 접속할 수 있다. *두개의 네트워크를 연결하여 연결 브리지를 생성 한다. :*연결 브리지를 만들 두개의 네트워크를 선택 한다. :*오른쪽 마우스를 눌러 "연결 브리지" 메뉴를 선택 한다. :[[File:Network Bridge 001.png|550px|연결 브리지 생성]] *연결 브리지인 "네트워크 브리지"가 생성된 것을 확인 한다. :*연결 브리지를 만들기 위해 선택된 네트워크에는 "브리지됨"이라고 표시 된다. :*두개의 네트워크를 연결한 연결 브리지인 "네트워크 브리지"가 생성된 것을 확인 한다. :[[File:Network Bridge 002.png|550px|네트워크 브리지]] *"네트워크 브리지"의 네트워크를 설정 한다. :*네트워크 브리지에서 오른쪽 마우스를 선택 한 후 "속성"을 선택 한다. :*"어댑터"에서 "네트워크 브리지"에 포함된 네트워크를 선택할 수 있다. :*연결 브리지는 하나의 네트워크 IP를 가지고 접속할 수 있고 연결 브리지에 포함된 네트워크("브리지됨"으로 표시됨)는 이 대표 IP로 외부와 통신을 한다. :[[File:Network Bridge 003.png|어댑터 관리]] :*기타 네트워크 설정은 기존의 네트워크 설정과 동일하므로 생략 한다. *참고 문헌 :*[http://changdoc.tistory.com/52 윈도우 XP 네트워크 브리지 기능으로 인터넷 공유 방법] :*[http://salm.springnote.com/pages/3116520 버추얼박스 2.2.0 네트워크 접속 문제] === Windows 가상 랜카드 === Windows에 포함되어 있는 Microsoft Loopback Adapter를 사용하여 가상의 랜카드를 추가하여 자체 네트워크를 구축 한다. *Windeows Vista에서 "제어판 -> 추가 옵션 -> 하드웨어 및 소리 -> 하드웨어 및 장치 보기" 메뉴에서 네트워크 어댑터를 선택한 후 "동작 -> 레거시 하드웨어 추가" 메뉴를 선택하여 가상의 네트워크 어댑터를 추가 한다. *"다음" 버튼을 선택하여 네트워크 어댑터를 추가 한다. :[[File:Loopback add 01.png|네트워크 어댑터 추가 시작]] *"목록에서 직접 선택한 하드웨어 설치(고급)"을 선택한 후 "다음" 버튼을 누른다. :[[File:Loopback add 02.png|하드웨어 선택 옵션]] *"네트워크 어댑터"를 선택한 후 "다음" 버튼을 누른다. :[[File:Loopback add 03.png|네트워크 어댑터 선택]] *네트워크 어댑터를 아래와 같이 선택 한다. :*제조업체 : Microsoft :*네트워크 어댑터 : Microsoft Loopback Adapter :[[File:Loopback add 04.png|네트워크 어댑터 선택]] *"다음" 버튼을 선택하여 선택한 네트워크 어댑터를 설치 한다. :[[File:Loopback add 05.png|네트워크 어댑터 설치]] *"마침" 버튼을 눌러 네트워크 어댑터 설치를 완료 한다. :[[File:Loopback add 06.png|네트워크 어댑터 설치 완료]] *장치 관리자의 네트워크 어댑터에 "Microsoft Loopback Adapter"가 추가 된 것을 확인할 수 있다. :[[File:Loopback add 07.png|설치 확인]] *참고 문헌 :*[http://ubuntu.or.kr/viewtopic.php?f=9&t=4455 virtualbox 2.1.x에서 공유기 없이 호스트 인터페이스 쓰기, 2009.3] === 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 7을 무선 액세스 포인터로 ==== Windows 7을 무선 액세스 포인터로 만들어 주는 [http://connectify.me/ Connectify]를 설치하여 사용해 봅시다. *[http://connectify.me/download/index.html Connectify 다운로드 사이트]에서 ConnectifyInstaller.exe 를 다운로드 한다. :*이름와 이메일 주소를 요구 합니다. :*다운로드 받은 파일을 실행하여 Connectify를 설치 합니다. *Tray에 있는 Connectify를 클릭하여 네트워크 설정을 한다. :*WiFi Name: "pnusSens", 무선으로 공유할 이름을 입력 한다. :*Password: '''숫자로''' 10~16자리 암호를 입력 한다. :*Internet: "로컬 영역 연결", 공유할 네트워크를 선택 합니다. :*"Start Hotspot" 버튼을 누르면 설정이 완료 됩니다. [[File:Connectify setting.png|Connectify 설정]] *다른 컴퓨터에서 "pnusSens" 무선 네트워크를 검색하여 사용하면 됩니다. 접속시 암호는 위에서 입력한 암호를 사용 합니다. *참고 문헌 :*[http://www.choboweb.com/1297 윈도우 7 노트북을 무선 액세스 포인트로 만들어주는 Connectify, 2009.11] :*[http://7day.tistory.com/238 http://7day.tistory.com/238] ==== Windows 8을 무선 액세스 포인터로 ==== *참고 문헌 :*[http://jangjy.tistory.com/56 http://jangjy.tistory.com/56] :*[http://jnstory.net/2014 http://jnstory.net/2014] === Windows 7 네트워크 공유하기 === *"네트워크 및 공유 센터 -> 어댑터 설정 변경 -> 로컬 영역 연결 -> 속성 -> 공유" 메뉴를 선택 합니다. :*"다른 네트워크 사용자가 이 컴퓨터의 인터넷 연결을 통해 연결할 수 있도록 허용"을 체크 하고 "무선 네트워크 연결"을 선택 합니다. *"네트워크 및 공유 센터 -> 무선 네트워크 관리 -> 추가" 메뉴를 선택 합니다. :*"애드혹 네트워크 만들기"를 선택하여 네트워크를 추가 합니다. ::*네트워크 이름 : ::*보안 종류 : WEP ::*보안 키 : 13자 입력 ::*"이 네트워크 저장" 체크 === Windows 7 IP Routing === *regedit HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters\IPEnableRouter = 1 == IP 주소 == *비공인 IP 주소 공간 ([http://tools.ietf.org/html/rfc1918 RFC 1918]) {| cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" |- | width="20%" align="center" valign="middle" style="background-color:#eee;" | 클래스 | width="40%" align="center" valign="middle" style="background-color:#eee;" | 공인 IP | width="40%" align="center" valign="middle" style="background-color:#eee;" | 사설 IP |- | align="center" valign="middle" | A | align="left" valign="middle" | *1 ~ 126.xxx.xxx.xxx *255.0.0.0 | align="left" valign="middle" | *10.0.0.0 ~ 10.255.255.255 *255.0.0.0 |- | align="center" valign="middle" | B | align="left" valign="middle" | *128 ~ 191.aaa.xxx.xxx *255.255.0.0 | align="left" valign="middle" | *172.16.0.0 ~ 172.32.255.255 *255.255.0.0 |- | align="center" valign="middle" | C | align="left" valign="middle" | *192 ~ 223.aaa.bbb.xxx *255.255.255.0 | align="left" valign="middle" | *192.168.0.0 ~ 192.168.255.255 *255.255.255.0 |- | align="center" valign="middle" | D | align="left" valign="middle" | *224 ~ 239 (멀티캐스트용) | align="left" valign="middle" | |} *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 설정 === {| cellspacing="1" cellpadding="1" border="1" width="100%" |- | width="20%" bgcolor="cyan" align="center" valign="middle" | Network 모드 | width="80%" bgcolor="cyan" align="center" valign="middle" | 상세 설명 |- | align="center" | Birdge | *가상 머신이 호스트를 브리지로 사용하여 직접 네트워크에 접속하는 형태 *가상 머신은 호스트와 무관하게 자신만의 독립적인 네트워크를 구성함 *가상 머신은 자신만의 IP를 받아 외부 네트워크와 연결 가능 |- | align="center" | Host-only | *외부와 단절된 네트워크로 호스트와 다른 게스트 머신만 접속이 가능 하다. *호스트에 등록된 "VirtualBox Host-Only Network"를 사용하여 통신 한다. *"VirtualBox Host-Only Network"에 [[Network#연결 브리지|연결 브리지]]를 설정하여 외부와 통신이 가능 하다. |- | align="center" | 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#연결 브리지|연결 브리지]], [[Network#VirtuaBox 포트 포워딩|포트 포워딩(Port Forwarding)]]을 사용 한다. |} === VirtualBox Network 설정 === *VirtualBox를 시작 한다. *가상 머신을 선택한 후 "설정" 버튼을 선택 한다. *새로 뜨는 창에서 네트워크 메뉴를 선택 한다. *어댑터 1에서 "다음에 연결됨"을 아래 사항을 참조하여 설정 한다. {| cellspacing="1" cellpadding="1" border="1" width="100%" |- | width="20%" bgcolor="cyan" align="center" valign="middle" | 다음에 연결됨 | width="80%" bgcolor="cyan" align="center" valign="middle" | 상세 설명 |- | align="center" | 연결되지 않음 | *Not attached *네트워크에 연결 되지 않는다. |- | align="center" | NAT<br/>(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 접속 방법 : 게스트 머신 <- 인터넷/호스트 머신 :*[[Network#VirtuaBox 포트 포워딩|포트 포워딩(Port Forwarding)]]을 사용 한다. :*가상 머신의 설정에서 네트워크를 NAT로 설정하면 하단에 Port Forwarding을 관리할 수 있는 버튼이 활성화 된다. |- | align="center" | 브리지 어댑터<br/>(Bridged Adapter) | *가상 머신이 호스트를 브리지로 사용하여 직접 네트워크에 접속하는 형태 *가상 머신은 호스트와 무관하게 자신만의 독립적인 네트워크를 구성함 *가상 머신은 자신만의 IP를 받아 외부 네트워크와 연결 가능 *Network 접속 방법 : 게스트 머신 -> 인터넷 *Network 접속 방법 : 게스트 머신 -> 호스트 머신 *Network 접속 방법 : 게스트 머신 <- 인터넷 *Network 접속 방법 : 게스트 머신 <- 호스트 머신 |- | align="center" | 내부 네트워크<br/>(Internal networking) | *Internal Network *Internal Network만 사용하도록 설정 한다. *같은 Internal Network상에 있는 다른 VM과는 통신이 가능 하다. *Network 접속 방법 : 게스트 머신 -> 인터넷 *Network 접속 방법 : 게스트 머신 -> 호스트 머신 *Network 접속 방법 : 게스트 머신 <- 인터넷 *Network 접속 방법 : 게스트 머신 <- 호스트 머신 |- | align="center" | 호스트 전용 어댑터<br/>(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 접속 방법 : 게스트 머신 -> 인터넷 :*"VirtualBox Host-Only Network"에 [[Network#연결 브리지|연결 브리지]]를 설정 한다. *Network 접속 방법 : 게스트 머신 -> 호스트 머신 : Default로 접속을 지원 한다. *Network 접속 방법 : 게스트 머신 <- 인터넷 *Network 접속 방법 : 게스트 머신 <- 호스트 머신 : Default로 접속을 지원 한다. |- | align="center" | 일반 드라이버 | |} *호스트에서만 테스트용으로 연동하여 사용할 경우 네트워크 설정 :*"파일 -> 환경설정 -> 네트워크" 메뉴에서 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 *참고 문헌 :*[http://pptp.kr/portfw.htm 포트 포워딩(Port Forwarding)] === 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 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 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 http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/12/stp] VPN : http://gotocloud.co.kr/?p=1280 == Switch == <span style="color:#006400;">'''ARP Table : IP, MAC'''</span> 저장 위치 : NIC LAN에 ARP request를 boardcast한 후 ARP reply를 받아서 IP에 해당하는 MAC address를 ARP Table에 등록 NIC에서 Promiscuous mode를 설정하면 모든 Ethernet Frame을 수신하여 IP layer로 전달 <pre>arp -a</pre> 참고 문헌 *http://cafe.naver.com/neteg/3101 *http://cafe.naver.com/neteg/3102 *http://cafe.naver.com/neteg/3103 *http://cafe.naver.com/neteg/3121 <span style="color:#006400;">'''MAC Table : MAC'''</span> ppp <span style="color:#006400;">'''Routing Table'''</span> ppp == Network 암호 == *[http://yusik.thoth.kr/?mid=blog&document_srl=1965317 http://yusik.thoth.kr/?mid=blog&document_srl=1965317] *[http://drunken009.tistory.com/181 http://drunken009.tistory.com/181] == 참고 문헌 == *http://cris.joongbu.ac.kr/course/2015-2/cn2/ **Cisco Packet Tracer 6.2 : http://cris.joongbu.ac.kr/course/2015-2/cn2/Cisco%20Packet%20Tracer%206.2%20for%20Windows%20Student%20Version%20(no%20tutorials).exe *[http://zetawiki.com/wiki/분류:리눅스_네트워크 http://zetawiki.com/wiki/분류:리눅스_네트워크] *[[IP Address|IP Address]] *[http://tensai.springnote.com/pages/2290296 네트워크 설정] *[http://rocky2010aaa.blogspot.kr/2013/05/virtualbox-network-setting.html 버추얼박스 네트워크 이해 및 구성-완벽가이드, 2013.05] *[[VMware Server|VMware Server]], [[VMware Player|VMware Player]] :*[http://www.wintt.net/bbs/board.php?bo_table=win2&wr_id=17 작동 중인 가상 머신의 네트워크 연결 설정 변경하기] :*[http://tensai.springnote.com/pages/2290252 VMware 네트워크 모드] *[[VirtualBox|VirtualBox]] :*[http://ubuntu.or.kr/viewtopic.php?f=9&t=4455 virtualbox 2.1.x에서 공유기 없이 호스트 인터페이스 쓰기, 2009.3] *[[Ftp:ftp://ftp2.kr.freebsd.org/FreeBSD-kr/doc/misc/PoweredByDNS/PoweredByDNS7.html|7장.|DNS|ftp://ftp2.kr.freebsd.org/FreeBSD-kr/doc/misc/PoweredByDNS/PoweredByDNS7.html%7C7장.%7CDNS]] 오류 수정 도구 : nslookup의 사용법을 자세하게 정리 하였다. *[http://www.slideshare.net/shahryaralipk/network-virtualization-for-cloud-services-infrastructurepresentation-28959186 http://www.slideshare.net/shahryaralipk/network-virtualization-for-cloud-services-infrastructurepresentation-28959186]<br/> [[Category:Network|Category:Network]]<br/>[[Category:Virtual Appliance|Category:Virtual Appliance]]<br/>[[Category:IDC|Category:IDC]]
Network
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보