1. firewalld 중지 및 해제하기
systemctl stop firewalld
systemctl mask firewalld
systemctl status firewalld (firewalld 상태 확인)
* firewalld.service
Loaded: masked (/dev/null; bad)
Active: inactive (dead)
위와 같이 나오면 정상적으로 죽은 것이다.
2. iptables service 설치
yum -y install iptables-services
systemctl enable iptables
systemctl start iptables
systemctl status iptables (iptables 데몬 상태 확인)
* iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
Active: active (exited) since 수 2021-02-03 05:14:07 KST; 1h 26min ago
Main PID: 9989 (code=exited, status=0/SUCCESS)
2월 03 05:14:07 localhost.localdomain systemd[1]: Starting IPv4 firewall with iptables...
2월 03 05:14:07 localhost.localdomain iptables.init[9989]: iptables: Applying firewall rules: [ OK ]
2월 03 05:14:07 localhost.localdomain systemd[1]: Started IPv4 firewall with iptables.
위와 같이 나오면 정상적으로 시작 된 것이다.
[증상]
CentOS7 서버에 FTP를 구축하여 처음 연결을 시도하였는데 아래와 같이
500 OOPS vsftpd: refusing to run with writable root inside chroot()라는 메시지와 함께
Critical error가 뜨면서 연결이 되지를 않았다.
원인은 chroot내에 쓰기 권한이 없어서 발생한 문제로써, 설정을 바꿔주면 해결되는 문제다.

[해결책]
vi /etc/vsftpd/vsftpd.conf
allow_writeable_chroot=YES 구문을 적당한 위치에 추가해 준다.
systemctl restart vsftpd.service
CentOS7 에서부터는 network 설정방법이 좀 달라졌음
[root@localhost network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-enp6s0
랜카드명이 eth0 에서 enp6s0 처럼 변경되었음.
고정ip설정시 netmask 설정은 NETMASK, PREFIX 중에 하나만 사용해야 함.
두 개 다 지정해 놓을 경우 PREFIX가 우선함
NETMASK = 255.255.255.224
PREFIX = 27
와
PREFIX = 27
NETMASK = 255.255.255.224
는 동일하게 PREFIX값이 우선함
PREFIX 값을 주석처리하거나 삭제함
-----
서브넷 클래스에 따른 NETMASK / PREFIX 값 (둘 중 하나만 사용)
NETMASK = 255.255.255.0
PREFIX = 24
호스트범위 : 1~254
NETMASK = 255.255.255.128
PREFIX = 25
호스트범위 : 1~126
NETMASK = 255.255.255.192
PREFIX = 26
호스트범위 : 1~62
NETMASK = 255.255.255.224
PREFIX = 27
호스트범위 : 33~62
NETMASK = 255.255.255.240
PREFIX = 28
호스트범위 : 49~62
NETMASK = 255.255.255.248
PREFIX = 29
호스트범위 : 49~54
NETMASK = 255.255.255.252
PREFIX = 30
호스트범위 : 53~54
출처: https://ellordnet.tistory.com/67 [IT in MT]
CentOS 7 에서 로케일 변경하는 방법입니다.
현재 사용가능한 한글관련 로케일
# localectl list-locales | grep -i ko
ko_KR
ko_KR.euckr
ko_KR.utf8
kok_IN
kok_IN.utf8
korean
korean.euc
ru_RU.koi8r
ru_UA.koi8u
tg_TJ.koi8t
uk_UA.koi8u
utf8 로 변경
# localectl set-locale LANG=ko_KR.utf8
수동으로 변경시는 /etc/locale.conf 파일을 만들어 아래 내용 추가
LANG=ko_KR.utf8
서버 부팅 후 로케일 설정 확인
# locale
LANG=ko_KR.utf8
LC_CTYPE="ko_KR.utf8"
LC_NUMERIC="ko_KR.utf8"
LC_TIME="ko_KR.utf8"
LC_COLLATE="ko_KR.utf8"
LC_MONETARY="ko_KR.utf8"
LC_MESSAGES="ko_KR.utf8"
LC_PAPER="ko_KR.utf8"
LC_NAME="ko_KR.utf8"
LC_ADDRESS="ko_KR.utf8"
LC_TELEPHONE="ko_KR.utf8"
LC_MEASUREMENT="ko_KR.utf8"
LC_IDENTIFICATION="ko_KR.utf8"
LC_ALL=
# cat /etc/locale.conf
출처: http://itposting.tistory.com/62 [IT 관련 포스팅]
centos 7 고정 ip
/etc/sysconfig/network-scripts/ifcfg-xxxxx 파일
############# dhcp-config ############
#TYPE=Ethernet
#BOOTPROTO=dhcp
#DEFROUTE=yes
#PEERDNS=yes
#PEERROUTES=yes
#IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#IPV6_PEERDNS=yes
#IPV6_PEERROUTES=yes
#IPV6_FAILURE_FATAL=no
#NAME=eno16777736
#UUID=d41562bc-ed43-4426-b395-e519468318a1
#DEVICE=eno16777736
#ONBOOT=yes
############### static-config #######
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=eno16777736
UUID=xxxxxxxxxxxxxxxxxxxxxxxxxx
DEVICE=eno16777736
ONBOOT=yes
IPADDR=192.168.233.xxx
NETMASK=255.255.255.0
GATEWAY=xxx.xxx.xxx.x
DNS1=168.126.63.1
DNS2=8.8.8.8
USERCTL=no
NM_CONTROLLED=yes
HWADDR=xx:xx:xx:xx:xx:xx : 맥주소 입력
TYPE= Ethernet : 이더넷 인터페이스의 종류
BOOTPROTO=static : ip할당 방식
– static : 고정 아이피 할당
– dhcp : 유동 아이피 할당
– bootp : dhcp 이전에 사용하던 방식
– none : 사용안함
DEFROUTE=yes : 디폴트라우트 사용 여부
PEERDNS=yes : dhcp 서버의 dns정보를 /etc/resolv.conf에 저장 여부
PEERROUTES=yes : dhcp 서버의 라우터 정보를 /etc/sysconfig/network에 저장 여부
IPV4_FAILURE_FATAL=yes : 설정이 잘 안됬을 때 IPv6 사용 여부(yes면 사용하지 않고 no면 사용)
IPV6INIT=yes : IPv6 사용 여부
NAME=enp0s3 : GUI 네트워크 설정 때 보이는 NIC 이름
ONBOOT=yes : 부팅시 자동 활성화 여부
BROADCAST= : 브로드캐스트 주소
IPADDR= : 아이피주소
NETMASK= : 넷마스크 주소
NETWORK= : 네트워크 주소
GATEWAY= : 게이트웨이 주소
DNS1= : DNS주소
DNS2= : DNS주소
USERCTL=no : 일반 사용자가 수정 할 수 있는지에 대한 여부
NM_CONTROLLED=yes : 네트워크 관리도구사용 여부
출처: http://flyyunha.tistory.com/entry/centos7-고정-ip-설정 [Get your Dream]
CentOS 7 은 많은 변화가 있었지만 그중 하나가 네트워크 인터페이스 이름 입니다.
지금까지 네트워크 인터페이스 이름은 eth0, eth1 식으로 고정되어 있었습니다. 하지만 CentOS 7 부터는 바이오스 장치 이름을 조합해서 생성됩니다. 다시 말해서 각 서버마다 네트워크 인터페이스 카드가 모두 동일하다고 할지라도 CentOS 7 에서의 네트워크 인터페이스 이름은 모두 다를 수가 있다는 겁니다.
이 문서는 CentOS 7 에서 네트워크 인터페이스 이름 바꾸기 에 대한 것입니다.
1. 상태확인
CentOS 7 에서의 네트워크 인터페이스 이름은 다음과 같습니다.
[root@localhost ~]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.55 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::5def:d7b6:b644:3343 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:f5:93:8e txqueuelen 1000 (Ethernet)
RX packets 76 bytes 11976 (11.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 84 bytes 11460 (11.1 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 1 (Local Loopback)
RX packets 72 bytes 6248 (6.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 72 bytes 6248 (6.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s3 으로 나옵니다. 네트워크 인터페이스 설정 파일도 이름과 동일하게 생성 됩니다.
[root@localhost ~]# ls -al /etc/sysconfig/network-scripts/ifcfg-enp0s3
-rw-r--r--. 1 root root 312 3월 28 09:31 /etc/sysconfig/network-scripts/ifcfg-enp0s3
2. eth0 로 바꾸기
바꾸는 방법은 grub 에서 바이오스장치이름을 네트워크 인터페이스 이름으로 사용하지 않겠다고 선언하는 것입니다. 커널이 업그레이드되면 grub 에 파라메터값을 다시 해줘야 하는 불편함을 없애기위해서 grub 의 기본설정을 변경해 줍니다.
[root@localhost ~]# cat /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 quiet net.ifnames=0 biosdevname=0 ipv6.disable=1"
GRUB_DISABLE_RECOVERY="true"
핵심은 ‘GRUB_CMDLINE_LINUX’ 에 ‘net.ifnames=0 biosdevname=0’ 를 추가하는 것입니다. 그리고 다음과 같이 grub2 를 다시 만들어 줍니다.
ipv6.disable=1 을 적용하면 ipv6 기반이 비활성화 됩니다.
grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-123.9.3.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.9.3.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-123.8.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.8.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-123.6.3.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.6.3.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-babecd961e9a465686311e3f5930f25e
Found initrd image: /boot/initramfs-0-rescue-babecd961e9a465686311e3f5930f25e.img
done
이제 네트워크 인터페이스 파일을 다음과 같이 바꿔 줍니다.
root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# mv ifcfg-enp0s3 ifcfg-eth0
[추가] 이름 변경한 ifcfg-eth0 파일 내용 중 DEVICE= 와 NAME= 또한 동일하게 변경한다.
이제 재부팅을 하면 네트워크 인터페이스 이름이 eth0 로 올라온것을 볼 수 있습니다.
1. pstree 명령어를 찾을 수 없을 때
명령 : yum -y install psmisc
2. ifconfig 명령어를 찾을 수 없을 때
명령 : yum -y install net-tools
3. autoconf 명령을 찾을 수 없을 때 (pecl 또는 phpize 명령 실행시 autoconf 는 필수 설치 항목이다.)
[에러 메시지]
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF
environment variable is set correctly and then rerun this script.
해결 : yum -y install autoconf
4. scp 명령어를 찾을수 없을 때
해결 : yum -y install openssh-clients (설치되면 scp, sftp등이 설치된다.)
5. nslookup 명령어를 찾을 수 없을 때 (CentOS7 에서)
해결 : yum -y install bind-utils
6. wget 명령어를 찾을 수 없을 때
해결 : yum -y install wget
7. lspci 명령어를 찾을 수 없을 때
해결 : yum -y install pciutils
8. ntsysv 명령어를 찾을 수 없을 때
해결 : yum -y install ntsysv
9. smartctl 명령어를 찾을 수 없을 때
해결 : yum -y install smartmontools
10. hdparm 명령어를 찾을 수 없을 때
해결 : yum -y install hdparm
11. rdate 명령어를 찾을 수 없을 때
해결 : yum -y install rdate
CentOS 6까지는 /etc/sysconfig/network 설정파일에 정의 도었지만 CentOS 7 부터는 새로운 init시스템(systemd) 으로 변경되면서
/etc/hostname 에 의해 정의된다.
hostnamectl 이라는 명령어가 추가되었는데, 이 명령을 이용해 hostname을 조작할 수 있다.
1. hostname 상태 확인하기
# hostnamectl status
Static hostname: web.yufunding.com
Icon name: computer-desktop
Chassis: desktop
Machine ID: c9b7cf08f05840c08378307dccc659c8
Boot ID: 309a6f6094a8436fb89e5f38de46987d
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-327.36.2.el7.x86_64
Architecture: x86-64
2. hostname 변경하기
# hostnamectl set-hostname [호스트명]
3. hostname 변경 후 확인
# hostname 명령어로 확인하거나 (Cent 4, Cent5, Cent6 부터 사용한 기본 명령어)
cat /etc/hostname 명령어로 /etc/hostname 파일에 정의한 hostname 이 입력되어 있는지 확인
/etc/hostname 에 정의가 되어 있으면 재부팅되어도 적용됨.