본문 바로가기

엔지니어/Linux

CentOS 7 기본설정

728x90
반응형
NIC rename on Centos7

# Centos 7 설치후 아래와 같이 실제 물리적인 인터페이스에 대하여 eno ... 등과 같이 사람이 eth0 과 같은 사람들이
# 인식하기 힘든 인터페이스 이름으로 변경 되어 있다.

[root@localhost ~]# 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: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:73:2e:b0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.110.201/24 brd 192.168.110.255 scope global eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe73:2eb0/64 scope link
       valid_lft forever preferred_lft forever

# eth .. 등과 같은 인터페이스로 설정 하기 위해서 grub 파일에 GRUB_CMDLINE_LINUX 변수에 net.ifnames=0을 추가 해준다.
[root@localhost ~]# vi /etc/default/grub

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quieti net.ifnames=0 "
GRUB_DISABLE_RECOVERY="true"

# grub2 에 mkconfig 명령어를 이용 하여 새로 grub.cfg 파일을 생성해준다.
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-98e8db8cf52a485bb4fe54baff7599f0
Found initrd image: /boot/initramfs-0-rescue-98e8db8cf52a485bb4fe54baff7599f0.img
done


# /etc/udev/rules.d/70-persistent-net.rules 을 생성 하여 해당 mac 주소에 인터페이스를 선언 한뒤 재부팅을 진행 한다.
[root@localhost ~]# vi  /etc/udev/rules.d/70-persistent-net.rules


 SUBSYTEM=="net", ACTION=="add" , ATTR{address}=="00:0c:29:73:2e:b0" , NAME=={eth0}

# 재부팅후 아래와 같이 ifcfg 파일을 네트워크 스크립트에 생성한다.

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPADDR=192.168.110.201
NETMASK=255.255.255.0
GATEWAY=192.168.110.2
NAME=eth0
DEVICE=eth0
DNS=8.8.8.8
ONBOOT=yes

[root@localhost ~]#reboot

# 해당 네트워크 스크립트 파일을 사용 할 수 있도록 NetworkManager  을 중지, 사용 하지 않도록 설정 한다.
[root@localhost ~]#sudo systemctl stop NetworkManager
[root@localhost ~]#sudo systemctl disable NetworkManager

# 네트워크 재시작후 정상적으로 해당 eth0 인터페이스로 아이피가 설정 되었는것을 확인 할 수 있다.
[root@localhost ~]# /etc/init.d/network restart
[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.110.201  netmask 255.255.255.0  broadcast 192.168.110.255
        inet6 fe80::20c:29ff:fe73:2eb0  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:73:2e:b0  txqueuelen 1000  (Ethernet)
        RX packets 356  bytes 27705 (27.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 124  bytes 25427 (24.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 9936  bytes 853528 (833.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9936  bytes 853528 (833.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0





########################################################

Net-tools install on Centos7

# cent os 6에서 7로 변경 되면서 많은 부분이 향상 되었다.
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@localhost ~]# cat /proc/version
Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015

# 하지만 5,6 버전을 많이 사용 하였다면, 당황(?) 스러운 부분이 있다.
# 아래와 같이 ifconfig,iptables 명령어 등 일부 지원 하지 않는 명령어로 당황하게 된다.
[root@localhost ~]# ifconfig
-bash: /usr/sbin/ifconfig: 그런 파일이나 디렉터리가 없습니다
[root@localhost ~]# netstat
-bash: netstat: command not found


# ifconfig 명령어를 대신하여 ip addr 명령어를 이용 하면 인터페이스별 아이피 상황을 확인 할 수 있다.
[root@localhost ~]# 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: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:73:2e:b0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.110.201/24 brd 192.168.110.255 scope global eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe73:2eb0/64 scope link
       valid_lft forever preferred_lft forever

# 또한 해당 명령어에 대한 패키지를 설치 하여 해결 할 수 있다.

[root@localhost ~]# yum install net-tools -y   

[root@localhost ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.110.201  netmask 255.255.255.0  broadcast 192.168.110.255
        inet6 fe80::20c:29ff:fe73:2eb0  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:73:2e:b0  txqueuelen 1000  (Ethernet)
        RX packets 8514  bytes 11242417 (10.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3481  bytes 275953 (269.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 72  bytes 6192 (6.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 72  bytes 6192 (6.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1314/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2434/master         
tcp6       0      0 :::22                   :::*                    LISTEN      1314/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      2434/master       

###########################################

Migrate from FirewallD to Iptables on CentOS 7

Centos은 net filter 를 이용한 네트워크 패킷 방화벽으로 iptables 을 사용 했지만
Centos 7 부터 iptables 대신하여  firewalld 를 사용 한다. firewalld 는 iptables 와 동일한 목적을 수행 하지만
현재의 연결을 중단하지 않고 구성을 변경 하거나, openstack 을 많이 고려되어 있다.

그렇지만 iptables 에 익숙한 사람이라면 firewalld 를 사용하기 어려운 부분이 있기 때문에 firewalld 를 disable 시키고 iptables를 활성화
시켜 사용해도 무방하다.

# firewalld을 기존에 부팅시 올라오지 않도록 systemctl 에 disable 및 중지 한다.
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

[root@node201 ~]# systemctl list-unit-files | grep firewalld
firewalld.service                      disabled

# iptables 패키지 설치및 systemctl 에 등록 한다. 그외 사용 법은 iptables 와 동일

[root@localhost ~]# yum install iptables-services

[root@node201 ~]# systemctl enable iptables
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.
[root@node201 ~]# systemctl list-unit-files | grep iptables
iptables.service                       enabled


####################################################

yum -y update

[root@localhost init.d]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

[root@localhost init.d]#


추가적인 커널 튜닝


echo "root hard nofile 65536" >>  /etc/security/limits.conf
echo "root soft nofile 65536" >>  /etc/security/limits.conf
echo "root hard nproc 65536" >>  /etc/security/limits.conf
echo "root soft nproc 65536" >>  /etc/security/limits.conf


echo "alias vi='vim'" >> ~/.bashrc

. ~/.bashrc 


반응형

'엔지니어 > Linux' 카테고리의 다른 글

linux soft tunning  (0) 2017.01.17
메모리 종류 (RAM 종류)  (0) 2017.01.17
Linux patch 파일 만들기 & 적용하기  (0) 2017.01.17
backdoor 탐지  (0) 2017.01.17
nginx_stats(zabbix nginx script)  (0) 2017.01.16