linux class(new) 1 페이지

본문 바로가기
사이트 내 전체검색


회원로그인

linux class(new)

네크워크 개요 및 리눅스 네트워크 설정

페이지 정보

작성자 admin 작성일16-02-18 17:56 조회1,808회 댓글0건

본문

응용계층

- 네트워크를 이용하는 응용프로그램으로 구성
- ftp, telet, ftp, pop3 등 응용프로그램이 사용하는 프로토콜이 해당된다.

전송계층

- 양 종단 사이의 데이터 전송 서비스 제공
- process to process 통신
- 데이터 전송의 신뢰성을 보장하는 tcp와 신뢰성을 보장하지 않는 udp 두개의
프로토콜로 구성.
- Port 주소 사용

인터넷계층

- 데이터 라우팅과 데이터 그램을 정의
- 인터넷 주소체계 정의
- 원격호스트로의 데이터그램 라우팅
- ip 주소 사용
ip class


네트워크 엑세스 계층

- 시스템이 네트워크를 이용해 네트워크에 직접 연결되어 있는 다른 장치들에게
데이터를 전달하는 수단을 제공
- OSI 7 계층의 1,2 계층을 포함한다.
- Mac 주소 사용

* 패킷참고

- 비공인(사설) ip주소 : 외부 네트워크에 직접 접속할 수 없다.
A Class : 10.x.x.x
B Class : 172.16.0.0 ~ 172.31.255.2555
C Class : 192.168.x.x


통신방식

unicast - 데이터를 송신자가 수신자에게 1:1 로 전송하는 방식
여러 수신자가 데이터를 원하는 경우에는 데이터를 여러번 복사하여
각각의 수신자 ip 주소로 전송해야 한다.

multicast - 데이터를 둘 이상의 다른 수신자에게 동시 전송하는 방식
수신자가 많은 경우 유니캐스트로 데이터를 보내는것에 비해 효율적이다.

broadcast - 데이터를 같은네트워크에 있는 모든 수신자에게 전송하는 방식


*. 리눅스 Network 설정

1. 랜카드 설정

명령어

랜카드 설정 및 설정정보 출력

ifconfig

ifconfig 인터페이스명 ip주소 [netmask] [broadcast] [up 또는 down]

ex)

/root# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:41:66:1B
inet addr:172.20.1.100 Bcast:172.20.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe41:661b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:59 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5887 (5.7 KiB) TX bytes:516 (516.0 b)

eth1 Link encap:Ethernet HWaddr 00:0C:29:41:66:25
inet addr:192.168.10.3 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe41:6625/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3266 errors:0 dropped:0 overruns:0 frame:0
TX packets:1414 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4324676 (4.1 MiB) TX bytes:87911 (85.8 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:44 errors:0 dropped:0 overruns:0 frame:0
TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3064 (2.9 KiB) TX bytes:3064 (2.9 KiB)

virbr0 Link encap:Ethernet HWaddr 52:54:00:B4:6F:56
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)


네트워크 설정

/root# pgrep -fl NetworkManager
1641 NetworkManager --pid-file=/var/run/NetworkManager/NetworkManager.pid
/root#

centos 버전 6에서는 기본적으로 NetworkManager 데몬이 네트워크 설정을 관리하도록 되어있다.
하지만 안정적이지 못해서 서버에서 사용하기에는 권장하지 않는다.
네트워크 어뎁터가 NetworkManager 데몬과 별개로 고정으로 설정될 수 있도록 하려면
서비스를 꺼놓거나 네트워크 어댑터 설정에서 영향을 받지 않게 설정할 수 있다.
-- 참고 : NetworkManger 데몬의 역할( manunal page 중에서...)
The NetworkManager daemon attempts to make networking configuration
and operation as painless and automatic as possible by managing the
primary network connection and other network interfaces, like Ethernet,
WiFi, and Mobile Broadband devices. NetworkManager will connect any
network device when a connection for that device becomes available,
unless that behavior is disabled.

/etc/sysconfig/network-scripts# cat ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=7053302a-be7d-487a-8a28-73aa48643d88
ONBOOT=yes ; 이 부분이 no 이면 부팅할때 랜카드가 활성화 되지 않는다.
NM_CONTROLLED=no ; 이부분을 no 로 설정하면 NetworkManager 데몬의 영향을 받지 않는다.
BOOTPROTO=none
IPADDR=172.20.1.100
NETMASK=255.255.0.0
IPV6INIT=no
USERCTL=no
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="System eth0"
HWADDR=00:0C:29:41:66:1B
LAST_CONNECT=1455777528
/etc/sysconfig/network-scripts#

NM_CONTROLLED=no 로 설정하게 되면 Xwindows 의 네트워크 설정도구에서
이 장치가 보이지 않게 된다.

/etc/sysconfig/network-scripts# cat ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
IPADDR=192.168.10.3
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="System eth1"
NETMASK=255.255.255.0
DNS2=168.126.63.2
GATEWAY=192.168.10.2
DNS1=168.126.63.1
HWADDR=00:0C:29:41:66:25
UUID=9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04
LAST_CONNECT=1442140644
/etc/sysconfig/network-scripts#

네트워크 설정

/etc/sysconfig/network-scripts# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:0C:29:41:66:25
inet addr:192.168.10.3 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe41:6625/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:281 errors:0 dropped:0 overruns:0 frame:0
TX packets:221 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:59324 (57.9 KiB) TX bytes:17022 (16.6 KiB)

/etc/sysconfig/network-scripts#



/root# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:0C:29:41:66:25
inet addr:192.168.10.3 Bcast:192.168.10.255 Mask:255.255.255.0
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:281 errors:0 dropped:0 overruns:0 frame:0
TX packets:221 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:59324 (57.9 KiB) TX bytes:17022 (16.6 KiB)
/root#


랜카드 아이피 설정

/root# ifconfig eth1 192.168.10.10
/root# ifconfig eth1 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255
/root#
/root# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:0C:29:41:66:25
inet addr:192.168.10.10 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe41:6625/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:300 errors:0 dropped:0 overruns:0 frame:0
TX packets:245 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:68769 (67.1 KiB) TX bytes:18879 (18.4 KiB)

/root#

ip 설정을 새로 설정하면 커널 routing table 에 저장되어 있는 정보도 변경된다.


root# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.20.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
/root#

*. 명령어로 설정한 랜카드 ip 나 게이트웨이 주소는 네트워크 서비스가 새로 시작되면
지워지고 네트워크 스크립트 파일 ifcfg-eth0 및 ifcfg-eth1 에 저장되어 있는 주소로
변경된다.

* 가상이더넷 인터페이스 설정
NIC(Network Interface Card)에 두개이상의 ip를 부여하려면 가상이더넷 장치를 사용하면 된다.

/root# ifconfig eth0:1
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:41:66:1B
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

/root# ifconfig eth1:10
eth1:10 Link encap:Ethernet HWaddr 00:0C:29:41:66:25
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

/root#
/root# ifconfig eth1:100
eth1:100 Link encap:Ethernet HWaddr 00:0C:29:41:66:25
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
/root#


- 가상이더넷 인터페이스는 형식 : 이더넷장치명:번호 (번호는 중복되지 않으면 마음대로 지정할수 있다)

route 설정

/root# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.20.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
/root#

- 현재 사용중인 NIC 의 네트워크 주소는 라우팅 테이블에 자동으로 등록된다.
- 게이트웨이가 잡혀 있지 않으므로 인터넷을 사용할 수 없다.

/root# ping 168.126.63.1
connect: 네트워크가 접근 불가능합니다
/root#


route 명령어
route add -net network 주소 netmask netmask값 dev 랜카드장치명
route del -net network 주소 netmask netmask 값 dev 랜카드장치명

ex)

/root# route add -net 168.126.0.0 netmask 255.255.0.0 gw 192.168.10.2 dev eth1
/root# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.20.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
168.126.0.0 192.168.10.2 255.255.0.0 UG 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
/root# ping -c1 168.126.63.1
PING 168.126.63.1 (168.126.63.1) 56(84) bytes of data.
64 bytes from 168.126.63.1: icmp_seq=1 ttl=128 time=461 ms

--- 168.126.63.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 461ms
rtt min/avg/max/mdev = 461.205/461.205/461.205/0.000 ms
/root#

- 외부주소로 접속할 수 있는것은 168.126.0.0 네트워크 뿐이다.
- 제대로 등록하기 위해서는 삭제후 모든 주소에 대해서 디폴트 게이트 웨이가 적용될수
있도록 해야 한다.

/root# route del -net 168.126.0.0 netmask 255.255.0.0
/root# route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.10.2 dev eth1
(또는 route add default gw 192.168.10.2 로 해도 된다)
/root# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.20.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 192.168.10.2 0.0.0.0 UG 0 0 0 eth1
/root#

--- 디폴트 게이트웨를 등록했으므로 인터넷이 됨(nslookup 으로 확인)

/root# nslookup apple.com
Server: 168.126.63.1
Address: 168.126.63.1#53

Non-authoritative answer:
Name: apple.com
Address: 17.172.224.47
Name: apple.com
Address: 17.178.96.59
Name: apple.com
Address: 17.142.160.59

/root#

* 명령어로 등록한 ip 주소나 route 설정은 네트워크 서비스가 다시 시작되면 지워지고
디폴트 설정으로 바뀌게 되므로 설정파일에 설정이 되어 있어야 영구적으로 사용할 수 있다.

참조할 dns 설정파일은 /etc/resolv.conf 파일이다.
이 파일이 없거나 설정이 잘못되어 있으면 ip 주소로는 외부접속을 할수 있지만 도메인 주소로
외부 접속이 되지 않는다.
ex)

/root# ping -c2 168.126.63.1
PING 168.126.63.1 (168.126.63.1) 56(84) bytes of data.
64 bytes from 168.126.63.1: icmp_seq=1 ttl=128 time=303 ms
64 bytes from 168.126.63.1: icmp_seq=2 ttl=128 time=58.4 ms

--- 168.126.63.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1070ms
rtt min/avg/max/mdev = 58.427/181.005/303.584/122.579 ms
/root# ping www.apple.com
ping: unknown host www.apple.com
/root# nslookup apple.com
;; connection timed out; trying next origin
;; connection timed out; no servers could be reached


CentOS 버전6에서는 이 설정파일을 만들 필요가 없으며 랜카드 설정파일에 dns를 등록해두면
네트워크 서비스가 시작될때 자동으로 생성된다.

/root# grep -i dns /etc/sysconfig/network-scripts/ifcfg-eth1
DNS2=168.126.63.2
DNS1=168.126.63.1
/root# ls /etc/resolv.conf
ls: cannot access /etc/resolv.conf: 그런 파일이나 디렉터리가 없습니다
/root# service network restart > /dev/null
/root# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 168.126.63.1
nameserver 168.126.63.2
/root# nslookup www.apple.com
Server: 168.126.63.1
Address: 168.126.63.1#53

Non-authoritative answer:
www.apple.com canonical name = www.apple.com.edgekey.net.
www.apple.com.edgekey.net canonical name = www.apple.com.edgekey.net.globalredir.akadns.net.
www.apple.com.edgekey.net.globalredir.akadns.net canonical name = e6858.dscc.akamaiedge.net.
Name: e6858.dscc.akamaiedge.net
Address: 23.12.235.171

/root#


자주 접속하는 서버가 도메인을 갖고 있지 않은 경우에는 hosts 파일에 등록해두면
ip 주소를 몰라도 hostname 으로 편리하게 접속할 수 있다.


cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.20.1.100 centos example.com server1
172.20.1.200 centos2 server2
/root#


hosts 설정파일형식
ip주소 hostname alias alias,..
------------------------------------------------------------------------------
CentOS 7.6 에서 NetworkManager 기반의 NIC 설정

NIC 설정순서
1. 네트워크 연결 생성
2. 네트워크 연결에 ip 설정
3. 네트워크 연결을 활성화

command 사용법 예시

nic 장치 보기
# nmcli dev status
네트워크 연결보기
# nmcli connection show


# nmcli con add con-name "mynet" type ethernet ifname 랜카드장치이름
# nmcli con mod "mynet" ipv4.addresses 192.168.X.100/24
# nmcli con mod "mynet" ipv4.method manual ; <--- 고정ip로 설정 , manual 대신에 auto 이면 동적 ip
# nmcli con up mynet ; 네트워크 연결 활성

* connection name 에 빈칸이 포함되어 있지 않으념 따옴표를 안붙여도 된다.

* 게이트웨이를 지정하는 경우
# nmcli con mod mynet ipv4.addresses "192.168.X.100/24 192.168.X.X"
(* add 로 설정하는 경우와 mod로 설정하는경우 주소 지정형태가 다르다
add 로 주소를 설정하는 경우는
nmcli con add con-name "test" type ethernet ifname 랜카드장치이름 ip4 192.168.X.100/24
gw4 192.168.10.254 )
# -- centos 7 버전도 7.x 에 따라서 nmcli 명령이 차이가 조금 있습니다.
----------------------------------------------------------------------
* 위에 명령이 안되면 아래처럼 해보세요.
# nmcli com mod mynet ipv4.addresses gw4 192.168.X.X
----------------------------------------------------------------------
* 설정을 수정한경우 바로 적용되지 않습니다. 설정 수정후
적용하려면 항상 nmcli con up "연결이름" 이렇게 해야 됩니다.
* dns 를 지정하는 경우
nmcli con mod "mynet" ipv4.dns 8.8.8.8

* dns를 추가하는 경우
nmcli con mod "mynet" +ipv4.dns 168.126.63.1

*. dns 를 제거하는 경우
nmcli com mod "mynet" -ipv4.dns 8.8.8.8

* nic 설정을 제거하는 경우
nmcli dev disconnect 랜카드장치이름
nmcli connection delete 연결이름

댓글목록

등록된 댓글이 없습니다.


접속자집계

오늘
27
어제
75
최대
611
전체
448,077
개인정보취급방침 서비스이용약관 twoseven.kr All rights reserved.
상단으로