네트워크 설정 명령어

 

 

 

 

 

 

* 툴 종류

(CLI) : 작업속도가 떨어짐

(TUI) : 엔지니어들이 많이 쓰니까 이 방식에 익숙해지자

(GUI) : 보기 좋으니 고객한테 보여줄때 활용

 

 

*IP/NET -> ifconfig, ip address

* GW -> netstat -nr, ip route

* DNS -> cat /etc/resolv.conf

(주의) 수동으로 편집하지 말고 위 툴을 활용해 편집해야 한다.

아니면 일회성으로만 적용됨.

 

 

 

# ifconfig 활성화 되어있는 것만 보여줌

# ifconfig -a 비활성화 되어있는 것도 보여줌 ( 활성화 되어 있는것은 UP이라고 표시되어 있음)

# ip address

 

 

 

 

(정리) 네트워크 설정 확인 순서

(ㄱ) 물리적인 연결 확인

# ethtool eth0

(ㄴ) IP/Netmask 확인

# ifconfig

(ㄷ) defaultrouter 확인

# netstat –nr

(ㄹ) DNS 클라이언트 설정 확인

# cat /etc/resolv.conf (# cat /etc/host.conf, /etc/nsswitch.conf)

 

 

 

 

 

 

 


 

 

 

 

 

네트워크 설정 확인 방법

 

 

* IP/NET: # ifconfig, # ip address

* GateWay: # netstat -nr, # ip route

* DNS: #cat /etc/resolv.conf

[주의] CentOS 7.x 는 /etc/resolv.conf에서 직접 바꾸지 않고

NetworkManager 체계를 사용하여 바꾼다.

 

 

 

 

 

 

 


 

 

 

 

 

네트워크 설정 툴

 

 

 

* 잡식

connection(profile) name은 설정 전체의 묶음 : 이름 바꿔도 됨

디바이스는 장치 이름 : 디바이스 이름은 함부로 바꾸면 안된다

 

 

* IPv4 설정

automatic(DHCP 방식) : 동적

manual : 정적 / 직접 설정

Netmask : 표기법이 두개 : 255.255.0.0. / 24

 

 

 

 

1) nm-connection-editor (잘 안쓰는 방식)

설정파일을 통해 편집한 설정 내용은 반드시 메모리에 올려줘야 적용이 된다!

# nmcli connetction up ens33 적용 커맨드

 

 

 

2) nmtui (제일 많이 사용되는 방식)

#nmtui

# nmcli connetction upens33 : 적용!

 

 

 

3) nmcli CMD (숙달전까진 속도가 매우 떨어짐)

장치하고 커넥션 부분 두 가지만 확인할 줄 알면 된다.

# nmcli <TAB><TAB>

# nmcli device <TAB><TAB>

# nmcli device status

# nmcli device show

# nmcli device show ens33 : 물리적인 설정이 어떻게 연결되어 있는지 확인

 

# nmcli CMD connection <TAB><TAB>

# nmcli connetction show : 커넥션 관점에서 디바이스를 바라본다

# nmcli connection show ens33 | grep ipv4

# nmcli connection modify ens33 \ 기존에 부여된 것을 수정할 때 사용

ipv4.addresses 172.16.6.1xx/24 \

ipv4.gateway 172.16.6.254 \

ipv4.dns 168.126.63.1

 

# nmcli connetction up ens33 : 적용!

 

 

 

 


 

 

 

IP 변경 실습

 

 

1) nm-connection-editor 툴 사용

# nm-connection-editor &

Ipv4 주소 변경 172.16.6.2xx -> 172.16.6.1xx

# cat /etc/sysconfig/network-scripts/ifcfg-ens33

# ifconfig ens33 : 확인해보면 그대로임.

파일만 적용되고 메모리에는 적용 안됨

# nmcli connection up ens33 : 적용!

# ifconfig ens33 : 확인

 

 

 

 

2) nmtui CMD

# nmtui

새 ethernet 만들기 : ens33_new

 

# ifconfig ens33

# nmcli device

# nmcli connetction

 

# nmcli connection up ens33_new

# nmcli device

# nmcli connetction

 

# ifconfig ens33

 

 

 

 

 

3) nmcli CMD 사용 원래 상태로 돌리기

* 작업할 것

ens33-new 삭제

ens33 :172.16.6.1xx -> 172.16.6.2xx

 

# ls /etc/sysconfig/network-scripts/ifcfg-*

# nmcli connection

 

# nmcli connection u ens33

# ifconfig ens33

 

# nmcli connection deleteens33_new

# ls /etc/sysconfig/network-scripts/ifcfg-*

 

# nmcli connection show ens33 | grep ipv4

Ipv4.addesses: 172.16.6.1xx/24

# nmcli connection modify ens33 ip4.address 172.16.6.211/24

# nmcli connection up ens33

 

or

 

[추가적인 실습] 파일 직접 수정할때 (간혹 엔지니어들이 이 방식을 사용하니 알고있자)

# vi /etc/sysconfig/network-scripts/ifcfg-ens33

IPADDR=172.16.6.149

# nmcli connection reload : 중요! 파일좀 다시 읽어 들여라

# nmcli connection up ens33 : 적용!

(복원) IP : 172.16.6.2xx

 

 


 

 

네트워크 작업 연습 시나리오

 

 

 

 

1) IP 변경 작업

 

# nmcli connection modify ens33 ipv4.addresses 172.16.6.1xx/24

# nmcli connection up ens33

 

or

 

nmcli connection add : 커맨드 작업시 꼭 help를 쳐보고 몇 가지 확인해야 한다

# nmcli connection addhelp

# nmcli connection add \

type ethernet \

ifname ens33 \ : 바꾸면 안됨 ( interface name)

con-name ens33_new \

autoconnection no \ ( 일반적으론 yes를 선택함)

ip4 172.16.6.2xx /24 gw4 172.16.6.254

# nmcli connection up ens33

# ifconfig ens33

 

 

방법은 여러가지지만가장 좋은건 nmtui

 

 

 

 

 

2) 새로운 카드 NIC ( Network interface card) 추가

 

ㄱ) systemd-udev.service

#systemctl list-unit-files | grep udev

# poweroff

 

 

ㄴ) network adaptor 추가

NAT 방식으로 설정

*bridged는 하나의 물리적 카드에 하나만 연결되게 만듬

(VM당 하나만 가능. 두장의 카드를 동시에 연결할 수 없음)

VM DHCP 서버 On

 

 

ㄷ) 재가동 및 로그인 후 확인

# ifconfig :두 장의 NIC 카드 설정되어 있는 상황. 하나는 bridged 하나는 NAT 방식이다

# ls /etc/sysconfig/network-scripts/ifcfg

# nmcli device

# nmcli connection

 

 

# nm-connection-editor &

Ethernet 탭 => Connection name 변경 (ens36) => Device 변경 (ens36 어쩌고 써있는것) =>

General autoconnection 체크 => ipv4 settings : 메뉴얼로 변경 / Address, Netmask 설정

gateway 안준다! 여러장의 NIC가 있는 경우 한쪽에만 있어야 하기 때문!

 

 

# ls /etc/sysconfig/network-scripts/ifcfg-* : 확인

/etc/sysconfig/network-scripts/ifcfg-ens33

/etc/sysconfig/network-scripts/ifcfg-ens36

/etc/sysconfig/network-scripts/ifcfg-lo

 

# nmcli connection up ens36 : 메모리에 올리기

# cat /etc/sysconfig/network-scripts/ifcfg-ens36

 

 

* 장애처리를 위해 여러가지 방식을 알아두는게 좋다!

 

 

 


 

 

 

 

Ether Channel Conding

두 장 이상의 NIC 카드를 묶어서 하나로 만들어 사용하는 작업

 

제공기능 :

fail over 장애처리기능과

load balancing 부하 분산으로 성능을 높이는 용도

 

 

 

 

 

 

 

 

Teaming 설정

 

 

[실습] 두 장의 카드를 하나처럼 운영해 써보자!

ens33(team0-port1) ----+----team0(192.168.10.100)

|

ens36(team0-port2) -----

 

 

 

[전제 조건]

* NIC 카드 최소 2장 필요 (# ifconfig CMD로 확인)

* 같은 Switch에 연결되어 있어야 함 (NAT Device - 2장 모두 연결)

* 두 카드 모드 NAT 방식으로 변경

* 두 카드는 반드시 disconnect 되어 있어야 하고 설정은 없는 상태로 변경

 

 

 

 

[전제 조건 작업]

# cd /etc/sysconfig/network-scripts

# ls

* 확인 후 켜져있다면 강제로 종료시켜야 한다.

 

* 참고

# nm-connection-editor & 들어가 하나 삭제를 하면

삭제해도 DHCP 서버에서 새로 만들어 준다.

그래서 default 값으로 새로 생긴 카드를 찾아 disconnect 해야한다.

 

삭제할때는 disconnect 하고 delete

# nmcli device disconnect ens33

# nmcli device disconnect ens36

# nmcli connection delete ens33

# nmcli connection delete ens36

 

# nmcli device : disconnected 확인하기

# nmcli connection : 장치 이름이 없어야 한다

 

 

 

 

[teamming 작업]

 

# nmcli connection add help : 무엇이 필요한지 구성내용 확인

만드는 CMD

# nmcli connection add \

type team \

ifname team0 \

con-name team0 \

config '{"runner":{"name":"activebackup"}}' : 제이슨 포멧 형식

 

(용어)

* activebackup:failover runner 로 데이터 전송을 위한 링크를 감시하고 active port를 선택한다.

실무 및 일반 서버에서는 가장 많이 사용되는 방식. 2장 사용시 사용.

* loadbalance :트래픽을 모니터링하고 패킷 전송에 대한 포트를 선택할 때 완벽한 균영에 도달하기 위해

hash function을 사용한다. 서버쪽에서만 설정. 4장 이상 카드 사용시 사용. 하나 죽으면 나머지 3개가 대신함

* lacp : 802.3ad(LACP) 고르게 부하 분산을 하기 위해 Switch에서 이 기능이 켜져 있어야 한다.

링크통합제어프로토콜 가장 좋은 방식으로 loadbalance runner와 동일한 전송 포트를 선택한다.

4장 이상 카드를 사용시 사용.

* broadcast :Simple runner로 모든 포트로 각각의 패킷을 전송한다. 효율은 가장 떨어지는 방식 (안씀)

* roundrobin :Simple runner로 각 포트에 라운드 로빈 방식으로 각각이 패킷을 전송한다.

 

 

 

ㄱ) team0 인터페이스 생성 및 IP 설정

# nmcli connetction show team0 | grep ipv4

#nmcli connection modify team0 \

ipv4.method manual \

ipv4.address 192.168.10.100/24 \

ipv4.gateway 192.168.10.2 \

ipv4.dns 168.126.63.1 \

ipv4.dns-search example.com

autoconnect yes ( 따로 설정 안하면 자동 설정)

 

 

 

ㄴ) team0 인터페이스 맴버 구성 속성 정보 변경

# nmcli connection add \

con-name team0-port1 \

type team-slave \

ifname ens33 \

autoconnect yes \

master team0

 

# nmcli connection add \

con-name team0-port2 \

type team-slave \

ifname ens36 \

autoconnect yes \

master team0

 

# nmcli connection up team0 : 메모리에 올리기!

# teamdctl team0 state 확인을 위해 입력했는데 안 나올경우 아래 커맨드 입력

# systemctl restart NetworkManager (안올라올경우)

# teamnl team0 ports

 

 

# nmcli device

# nmcli connection

# ifconfig

# netstat -nr

 

 

 

 

ㄷ) 확인 작업

# cd /etc/sysconfig/network-scripts

# ifcfg-*

각 파일들 내용 확인

# cat team0

# cat team-port1

# cat team-port2

 

 

 

 

 

ㄹ) 실습

* 선수작업 : HostOS firewall 설정 OFF(firewall.cpl)

* ping 테스트

: window에서 cmd 열고

: C:\> ping 192.168.10.100 -t (-t는 반복하라는 옵션)

* putty 연결

: HostOS에 putty 설치 & 연결 (192.168.10.100)

: root 로그인

# while true

do

echo "-------$(date)-----"

ls

sleep 2

done

 

 

(On linux)

# teamdctl team0 state

-> active port 확인후 (ens33)

 

# nmcli device disconnect ens33

-> putty 창과 CMD 창의 ping테스트를 해보고 이상이 없다는 것을 확인

-> 여기서 연결 끊어져서 아래 진행 안된다. 가상 환경이라 그런건지 원인확인 해야함.

 

# nmcli device connect ens33 재연결 하면 자동으로 돌아오는지 확인

# teamdclt team0 state

 

 

 

 

 

 

[복원 (지우는 작업)]

 

ㄱ) Teaming 삭제

# teamdctl

# teamdctl team0 state

 

# teamdctl team0 port remove ens33

# teamdctl team0 port remove ens36

 

# nmcli connection delete team0

# nmcli connection delete team0-port1

# nmcli connection delete team0-port2

 

 

 

ㄴ) 네트워크 설정 초기로 되돌리는 작업

 

# ls /etc/sysconfig/network-scripts

# nmcli connection

# nmcli device

#nm-connection-editor &

 

설정 후 up 하기전에 세팅 들어가서 인터넷 연결 방식 확인해주고

# nmcli connection up ens33 /36

 

확인작업

# ifconfig

# netstat -nr

# cat /etc/resolv.conf

# nsloolup www.daum.net

 

 

 

[참고] 호스트명 바꾸는 CMD

# hostnamectl set-hostname linux211.example.com

 

 

 


 

 

 

DNS

 

 

bind 설치

 

 

 

728x90

+ Recent posts