본문 바로가기

Engineering/Network

dhcp 인터페이스를 static 으로 변경

728x90

동적(dhcp) IP 로 사용중인 인터페이스를 고정(static) 으로 변경(in CentOS)


1. IP 주소 및 gateway 확인

# ip route

default via 172.25.50.1 dev enp2s0  proto static  metric 100

172.25.50.0/23 dev enp2s0  proto kernel  scope link  src 172.25.51.123  metric 100

172.25.252.252 via 172.25.50.1 dev enp2s0  proto dhcp  metric 100


-> IP 주소가 172.25.51.123, netmask 는 255.255.254.0 (172.25.50.0/23) 이고, default gateway 는 172.25.50.1, 인터페이스 명이 enp2s0, proto 에서 DHCP 인것을 알 수 있다.


2. 인터페이스 설정 변경

- dhcp 설정

TYPE="Ethernet"

BOOTPROTO=dhcp

DEFROUTE="yes"

IPV4_FAILURE_FATAL="yes"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

NAME="enp2s0"

UUID="6cd5cf3d-70ee-42f8-a547-4e70ea32b4ba"

DEVICE="enp2s0"

ONBOOT="yes"

HWADDR=FC:AA:14:XX:XX:XX

PEERDNS=yes

PEERROUTES=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_PRIVACY=no


- static 설정

TYPE="Ethernet"

BOOTPROTO=static

DEFROUTE="yes"

IPV4_FAILURE_FATAL="yes"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

NAME="enp2s0"

UUID="6cd5cf3d-70ee-42f8-a547-4e70ea32b4ba"

DEVICE="enp2s0"

ONBOOT="yes"

HWADDR=FC:AA:14:XX:XX:XX

PEERDNS=yes

PEERROUTES=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_PRIVACY=no

IPADDR=172.25.51.123

NETMASK=255.255.254.0

GATEWAY=172.25.50.1

DNS1=168.126.63.1


3. 네트워크 재시작 또는 reboot

# /etc/init.d/network restart


4. 변경 여부 확인

: ip addr 명령어로 인터페이스 명에 dynamic 이 안 붙으면 staitc 으로 보면 된다. 또는 /var/log/messages 파일을 확인해보면 인터페이스 설정된 내용을 확인할 수 있다.


(old)

# ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

       valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether fc:aa:14:XX:XX:XX brd ff:ff:ff:ff:ff:ff

    inet 172.25.51.123/23 brd 172.25.51.255 scope global dynamic enp2s0

       valid_lft 6338736sec preferred_lft 6338736sec

    inet6 fe80::feaa:14ff:feXX:XXXX/64 scope link

       valid_lft forever preferred_lft forever

 

 

(new)

# ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

       valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether fc:aa:14:XX:XX:XX brd ff:ff:ff:ff:ff:ff

    inet 172.25.51.123/23 brd 172.25.51.255 scope global enp2s0

       valid_lft forever preferred_lft forever

    inet6 fe80::feaa:14ff:feXX:XXXX/64 scope link

      valid_lft forever preferred_lft forever


※ 네트워크 설정 파일을 직접 수정하지 않고 CentOS GUI 에서 설정할 수도 있지만, 텍스트 모드에서 다음 명령어로 변경이 가능하다.


# nmtui




※ 인터페이스에 IEEE802.X 설정을 사용중이라면 /etc/sysconf/network-script 디렉토리에 keys-인터페이스명 이라는 파일이 있으면 유저 로그인할때마다 패스워드를 입력안해도 된다.


# cd /etc/sysconfig/network-scripts

# ls keys*

keys-enp2s0


# cat keys-enp2s0

IEEE_8021X_PASSWORD=패스워드문자열


※ IEEE8002.X 로 설정후 리부팅을 했는데도 연결이 안되는데 콘솔에서 유저 로그인(root 가 아니여도 아무나 로그인)을 하고나면 IP 설정이 되는 경우에는, 인터페이스 설정파일에서 "IEEE_8021X_PASSWORD_FLAGS=user" 항목이 있는지 확인하고 지우고 부팅하면 된다.


IEEE_8021X_EAP_METHODS=PEAP

IEEE_8021X_IDENTITY=유저명

IEEE_8021X_PASSWORD_FLAGS=user

KEY_MGMT=IEEE8021X

IEEE_8021X_INNER_AUTH_METHODS=MSCHAPV2



- 참고 사이트

dns 서버가 자꾸 변경이 되어서 찾아본 사이트

https://www.cyberciti.biz/faq/dhclient-etcresolvconf-hooks/

https://forums.fedoraforum.org/showthread.php?181331-how-to-disable-dhclient