본문 바로가기

Linux/CentOS

네트워크 관련 리눅스 명령어

 
리눅스 네트워크 명령어
 
-> ifconfig : ip 확인 명령어
> Interface configuration: interface의 정보 확인 및 제어
 
인터페이스 : 장치에 랜선 꽂는 소켓 하나하나를 의미
 
> CentOS 6 버전까지는 시스템 설치 시 기본적으로 설치되는 명령어였으나 CentOS 7 버전부터는 추가로 설치해야 사용 가능 (현재는 ip addr 명령어가 기본 설치, net-tools 패키지 설치 후 ifconfig 사용 가능)
 
> 설치 할 때 ' 개발용 툴' 체크 하면서 자동적으로 위의 패키지는 설치 되었다.
 
# 형식
 
ifconfig    : 현재 장치가 인식한 모든 interface의 정보 출력

 

 
ifconfig <interface 이름> : 특정 interface의 정보만 출력
{ a | b | c ... } : 안의 내용 중 하나를 사용해라.
 

 

ifconfig <interface 이름> { up | down} : interface의 상태 제어(on/off)
 

 

 
-> 현재 ens32는 up 상태로 ip 정보가 출력된다. down 옵션을 준다면?
-> ip 정보가 출력되지 않는 것을 볼 수 있다.
 

 

 

ifconfig <interface 이름> <IP address> netmask <subnetmask> : interface의 IP 주소 등을 변경(일시적인 변경, 설정이 변경 되는 것은 X)
>> network 데몬이 다시 실행되면서 원래의 설정을 불러와서 원래대로 변경
 
putty에서 ip 변경
변경 확인

 

 

 

 

 

※ 데몬 프로세스 제어
 
 
 
- 운영체제에는 각종 서비스들이 동작 되고 있고, 각 서비스들은 데몬 프로세스로 제어
 
# 형식
systemctl { start | stop | restart | status | enable | disable } 데몬명
 
start : 실행
stop : 정지
restart : 재실행(정지 -> 실행, 정지 상태에서도 사용 가능)
enable : 부팅 시 자동으로 해당 데몬 프로세스 실행
disable : enable 해제
 

재실행 후 변경 확인

 

 

 
※ ifconfig 명령 입력

 

 

 

 
 

 

ens32 :
 
 
lo : loop back -> 127.0.0.1 -> 실제로 사용할 수 없는 사설 ip(어제 네트워크 이론) - 어느 운영체제를 사용하던 동일함
 
loop back-> 내가 어떤 네트워크에서 어떤 ip를 사용하던 무조건 나 자신을 찾아가게 하는 ip
 
virbr0 : 가상화 환경 구성 시에 필요함 (지금은 필요 없음)
 
 
ip 설정 파일 존재 경로
cd /etc/sysconfig/network-scripts/

 
ls -> ifcfg-ens32 여기에 인터페이스에 대한 파일이 저장되어 있음
 
vi ifcfg-ens32 확인

 

ip 설정 정보 확인 가능
 
※ 네트워크 관련 명령어 - ping
 
 
- 내 장치와 목적지 장치 간의 네트워크 통신 상태 확인
 
- 거의 모든 운영체제에 ping 명령어가 존재
> Linux에서는 무한정 지속
 

 
# 형식
ping [옵션] [값] ... [옵션] [값] <목적지 IP>
 
 
 
*옵션
 
- c        :  ping 횟수를 지정해주는 명령어
- i         :  ping 간격 지정 가능(0.5초 아래로는 관리자만 가능하다. -> DOS 공격을 방지하고자 막았음)
-s         :  ping 크기 지정(무의미한 값을 이용하여 크기를 늘릴 수 있다)
 

 

1000의 무의미한 값을 넣어주어 크기를 일부러 늘려줄 수 있다.

 
※ 네트워크 관련 명령어 - traceroute

 

 

1. 내 장치와 목적지 장치 사이에 몇 개의 네트워크(= router)가 있는지 확인
 
2. 하나의 네트워크를 지날 때 1 hop씩 계산하여 최대 30 hop까지 확인 가능
 
3. 전 세계 어디에 있어도 20 hop 안쪽으로 목적지에 도착 가능(우회 안했을 경우)
 
4. 중간에 있는 router가 자신의 정보를 알려주지 않거나 통신이 안되면 우회를 하면서 hop 추가
 
# 형식
traceroute <목적지 IP>
 

구글 주소를 검색했을 때 가상 머신이다 보니 정확히 찾아가질 못함, 숫자는 최대 30까지만 찾아본다.

 

window cmd에서 실행 하여 확인해보았습니다.

 

 
원격 접속 - telnet

 

 

- 옛날부터 사용되던 원격 접속 protocol
- CLI 환경으로 사용
- 거의 모든 OS에서 사용 가능하지만 가급적 사용 X
 
> 주고 받는 통신을 암호화 하지 않아서 보안성이 낮음(평문 통신 or 비 암호화 통신을 한다)

 

※ CD를 마운트하여 telnet으로 시작하는 패키지 전체 설치 해보기

 

- yum 명령어 사용하지 않고 rpm 명령어 사용해보기 

 

dev/sr0 마운트 후 Pakages 디렉토리에 있는 telnet 사용
rpm을 이용하여 설치

 

★ telnet을 사용하기 위해서는 윈도우에서 telnet을 허용해줘야 사용이 가능하다 ★
 
프로그램 클릭

 

텔넷 클라이언트 체크

 

 

 

 

# 정보

 

패키지        :        telnet-*
데몬             :        telnet.socket
방화벽        :        port=23/tcp, service=telnet
설정 파일   :  X (별도의 service가 아니기 때문에 설정 파일은 존재하지 않는다.)
 
 
 

 

telnet이 바로 실행 안되는 이유
 
모든 데몬 서비스들은 최초 설치 후에 동작이 안되어 있는 상태이기 때문에 직접 systemctl과 같은 명령어로 켜줘야 한다.
 
systemctl status telnet.socket
 
->Active: inactive (dead)
 
 
systemctl restart telnet.socket
 
systemctl status telnet.socket
 
-> 켜짐
 
 

 

다시 cmd에서 telnet 192.168.10.128 접속 시도 -> 접속 실패

 

 

왜 안되는가? 방화벽 문제!
 

 

※ firewall(방화벽)
 
-장치의 네트워크 통신의 보안성을 높이는 요소
-> 거의 모든 운영체제에서 사용하는 요소
 
-방화벽은 기본적으로 나에게 들어오는 모든 통신은 차단하고 내가 내보내는 통신은 전부 허용
 
> 예외 규칙을 작성하여 규칙에 부합하는 통신은 들어오는 것을 허용 한다.
 
-CentOS 6버전까지는 iptables를 사용하다가 7버전부터 firewalld를 사용
 
현재 리스트에는 telnet에 대한 방화벽 설정이 없다. 규칙을 추가 해야 한다.
 
# 사용 방식(형식)
 
*permanent는 예외 가능하나 거의 필수로 써줌
 
# 예외 규칙 작성
 
firewall-cmd [--permanent] <add or remove target>
 
--permanent          :  모든 interface를 대상으로 방화벽 규칙 적용
 
add or remove target 작성은 add는 추가, remove는 제거를 기본으로 port나 service 등을 방화벽 예외 규칙에 추가/제거
 
--add-port=23/tcp        : tcp 23번 port를 예외 규칙에 추가
--add-service=telnet        : telnet service를 예외 규칙에 추가
--remove-port=23/tcp        : tcp 23번 port를 예외 규칙에서 제거
--remove-service=telnet        :  telnet service를 예외 규칙에서 제거
 
# 예외 규칙 적용
 
firewall-cmd --reload

 

# 예외 규칙 확인
 
firewall-cmd --list-all
 
 
firewall-cmd --permanent --add-port=23/tcp
 
-> 예외 규칙에 telnet 추가
 

telnet 창으로 넘어가진다.

 

- but root 로그인을 하려고 하면 보안성이 너무 떨어지기 때문에 telnet root로 접속이 안된다. 따라서 일반 사용자로 접속해야한다. 

 

 

-> 일반 사용자로는 권한이 제한적이 때문에 다른 사용자 권한 획득 명령어 사용이 필요하다. 

 
다른 사용자 권한 획득 명령어

 

# sudo
 
특정 작업을 수행할 때 다른 사용자(보통은 관리자)의 권한을 획득해서 동작
 
sudo 명령어를 사용하는 일반 사용자 계정의 정보를 수정하고 /etc/sudoers 파일 설정
 
획득한 권한은 해당 동작에서만 적용,  terminal이 종료되면 획득한 권한 폐기
 
# su
 
현재 접속을 유지한 상태로 다른 사용자(보통은 관리자)로 추가 접속하여 사용
 
su 명령어만 입력하면 환경변수 등의 개인 환경을 먼저 접속했던 사용자의 개인 환경으로 유지
 
su -  입력하면 개인 환경을 추가 접속하는 사용자의 환경으로 변경
 
root로 사용자가 변경된 것을 확인할 수 있다.
 
 
 
 
 
 
 

'Linux > CentOS' 카테고리의 다른 글

VNC 접속  (0) 2022.08.27
SSH 접속  (0) 2022.08.27
Client 환경설정  (0) 2022.08.27
환경 설정 4  (0) 2022.08.27
환경설정 3  (0) 2022.08.27