네트워크 서비스 과정 필요한 기술
서비스 enable/disable
네트워크 설정
SELinux
방화벽
Network Manager
네트워크 설정을 모니터링 및 관리하는 데몬. /etc/sysconfig/network-scripts 파일을 통해 진행한다.
[용어설명]
장치(Device) : 네트워크 인터페이스 (Network Interface)
nmcli device 또는 ip link 로 확인
연결(Connection) : 장치에 대한 구성할 수 있는 설정 컬렉션이다.
nmcli connection 로 확인.
네트워크 설정파일
1. /etc/hosts
IP 와 호스트네임 또는 도메인 이름을 맵핑하여 ip를 관리한다.
[root@server1 /test101]# cat /etc/hosts # # 192.168.10.30 server2.example.com server2 |
# ping 192.168.10.10
# ping main.example.com
# ping main
* 모두 같은 의미이다. (telnet, ssh 도 모두 동일)
2. /etc/host.conf
mulit on 과 off 로 관리되며. 기본값은 on 특정 호스트로 접속 시, DNS와 /etc/hosts 를 비교하여 IP주소를 변환해 오는데. 이때 /etc/hosts 를 우선으로 확인 후 DNS 를 확인하겠다는 뜻이다.
ex) http://www.daum.net -> (1) /etc/hosts -> (2) DNS(/etc/resolv.conf)
3. /etc/resolv.conf
DNS 서버를 지정할 때 사용하는 파일이다. 보통 3개까지 등록할 수 있다.
[참고]
대표적인 ISP DNS 주소 확인
코넷 : C:\> nslookup –q=NS kornet.net (IP: 211.216.50.150, 211.216.50.160)
보라넷 : C:\> nslookup –q=NS bora.net (IP: 164.124.101.31, 203.248.240.31)
파워콤 : C:\> nslookup –q=NS powercom.com (IP: 216.69.185.26, 208.109.255.26)
하나로 : C:\> nslookup -q=NS hanaro.net (IP: 210.180.98.85, 221.139.108.194)
외워 두셔야 하는 DNS 주소
KT : 168.126.63.1
LG : 164.124.101.2
Google : 8.8.8.8
4. /etc/sysconfig/network-scripts
cat ifcfg-[연결이름] 으로 확인가능 네트워크 설정 정보들을 담고 있다
출력내용 해석
[root@server1 /etc/sysconfig/network-scripts]# cat ifcfg-ens33 TYPE=Ethernet : 장치 연결 종류 PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none none or static : 정적 IP, dhcp : 동적 iP DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 : 연결이름 UUID=b1c87085-589b-4947-88b6-2d717dfd963c DEVICE=ens33 : 장치이름 ONBOOT=yes : 부팅시 활성화 HWADDR=00:0C:29:AF:C4:C5 : 맥주소 IPADDR=192.168.10.10 : ip주소 PREFIX=24 : 서브넷마스크 GATEWAY=192.168.10.2 : 게이트웨이 DNS1=8.8.8.8 : DNS서버 DOMAIN=example.com : 도메인 이름 IPV6_PRIVACY=no |
5. 현재 설정 확인 CMD
ip address (ifconfig)
장치 별 IP 주소 확인
[root@server1 ~]# ip address 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:40:7d:da brd ff:ff:ff:ff:ff:ff inet 192.168.10.20/24 brd 192.168.10.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever inet6 fe80::3914:df22:f922:5bc1/64 scope link noprefixroute valid_lft forever preferred_lft forever |
ip route (netstat -nr)
라우팅 테이블을 확인 가능하다.
[root@server1 ~]# ip route default via 192.168.10.2 dev ens33 proto static metric 100 192.168.10.0/24 dev ens33 proto kernel scope link src 192.168.10.20 metric 100 192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown |
ethtool [장치이름]
NIC카드 설정값 확인하는 명령어 즉 물리적인 연결 상태를 확인할 수 있다.
netstat
포트 및 서비스 정보 출력
netstat –an : 모든 정보 출력 |
tracepath [DNS address]
트레픽에 의한 수행된 경로 추적
6. 네트워크 설정 Tool
1) 환경에 따른 설정 툴
(CLI) nmcli CMD
(TUI) nmtui CMD
(GUI) nm-connection-editor
2) nmcli CMD
nmcli 를 통해 장치 및 연결 의 정보를 확인해보자.
nmcli device : 장치의 정보 확인. ( =nmcli device status ) nmcli device show : 장치의 설정정보 확인 ( 장비를 입력시 해당장비 값만 확인가능) * nmcli device [TAP][TAP] 으로 다양한 옵션 확인 nmcli connection : 연결의 정보 확인 nmcli connection show ens33 : ens33의 상세한 정보 확인 nmcli connection modify ens33: ens33의 값 수정. ipv4.method manual : 동적 정적 IP 정보 변경 ipv4.addresses 192.168.10.21/24 : IP 변경 ipv4.gateway 192.168.10.2 : 게이트 웨이 변경 ipv4.dns 168.126.63.1 : DNS 서버 변경 ipv4.dns-search example.com * nmcli connection [TAP][TAP] 으로 다양한 옵션 확인 |
3) IP 를 변경해보자
nm-connection-editor 툴 사용, 기존 IP 변경
IP 변경: 192.168.10.20 -> 192.168.10.21
[root@server1 ~]# ip address show ens33 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:40:7d:da brd ff:ff:ff:ff:ff:ff inet 192.168.10.20/24 brd 192.168.10.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever inet6 fe80::3914:df22:f922:5bc1/64 scope link noprefixroute valid_lft forever preferred_lft forever * 변경이 안되어있음을 확인할 수 있다. 툴로 설정을 변경할 경우 변경을 저정하는 up을 진행해줘야 한다. [root@server1 ~]# nmcli connection up ens33 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5) [root@server1 ~]# ip address show ens33 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:40:7d:da brd ff:ff:ff:ff:ff:ff inet 192.168.10.21/24 brd 192.168.10.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever inet6 fe80::3914:df22:f922:5bc1/64 scope link noprefixroute valid_lft forever preferred_lft forever |
4) nmtui tool 을 사용하여 새로운 연결을 만들어보자. (DHCP)
# nmtui
Edit a connection -> <Add> -> Ethernet
profile name : 새로운 연결의 이름
Device : 장치 이름
ETHERNET : MAC 즉 2계층 설정 mac address 등을 설정
IPv4 CONFIGURATION : IP의 즉 3계층 설정 ip address, gateway 등을 설정
[root@server1 /etc/sysconfig/network-scripts]# ls . .. ifcfg-ens33 ifcfg-ens33-new * 생성 여부 확인완료 [root@server1 /etc/sysconfig/network-scripts]# nmcli connection NAME UUID TYPE DEVICE ens33 ac6899f3-8b44-45eb-ba65-ed43a761b363 ethernet ens33 virbr0 6620b2c8-2a4f-466c-93f2-de6b7e65afb4 bridge virbr0 ens33-new a4d3ee01-7932-4067-af59-3afdc5cfa0e6 ethernet -- * 역시나 바로 적용되지 않음을 확인할 수 있다. [root@server1 ~]# nmcli connection up ens33-new Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6) [root@server1 ~]# nmcli connection NAME UUID TYPE DEVICE ens33-new a4d3ee01-7932-4067-af59-3afdc5cfa0e6 ethernet ens33 virbr0 6620b2c8-2a4f-466c-93f2-de6b7e65afb4 bridge virbr0 ens33 ac6899f3-8b44-45eb-ba65-ed43a761b363 ethernet -- |
[참고] vi ifcfg-ens33 으로 직접 변경시.
Tool을 통해 변경시 Network manager의 설정값이 바로 변경되지만
vi 편집기를 통해 변경시 Network manager의 설정값은 바로 변경되지 않는다.
-> 즉 Network manager 를 재 기동하고 UP을 진행해야한다.
nmcli connection reload : 재기동
nmcli connection up ens33 : UP
7. NIC(Network Interface Card) 추가작업.
1) NIC 장치 추가
systemd-udevd.service 기동여부 확인.
VMware 내 NIC 추가 (nat)
VMware 내 network editor 로 DHCP 여부 확인.
2) NIC 장치 인식
nmcli device (ip link) CMD로 장치 인식여부 확인.
[root@server1 ~]# nmcli device
DEVICE TYPE STATE CONNECTION
ens33 ethernet connected ens33
ens36 ethernet disconnected --
3) NIC 네트워크 설정
3가지 Tool중 nm-connection-editor 활용하여 네트워크 설정을 진행.
[root@server1 ~]# nm-connection-editor
Ethernet 탭
* Connection name: ens36
* Device: ens36 (00:0C:29:3C:C4:EA)
IPv4 Settins 탭
* Method : Manual
* Address : 192.168.10.21
* Netmask : 24
4) 확인
NIC 등록여부 및 설정확인
[root@server1 ~]# ls /etc/sysconfig/network-scripts/
[root@server1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens36
UP설정
[root@server1 ~]# nmcli connection up ens36
[root@server1 ~]# nmcli connection
NAME UUID TYPE DEVICE
ens33 ac6899f3-8b44-45eb-ba65-ed43a761b363 ethernet ens33
ens36 eeeceeec-b188-46ef-870a-5813bca0ccb4 ethernet ens36
8. 호스트 이름(host name) 변경
1) 현재 호스트 이름 확인
hostnamectl CMD 를 활용
[root@server1 ~]# hostnamectl Static hostname: server1.example.com Icon name: computer-vm Chassis: vm Machine ID: 2e197c62b444457e8d86ea622e1441dc Boot ID: 4a3ed6bd063f477ba362206a134e9ee2 Virtualization: vmware Operating System: CentOS Linux 8 CPE OS Name: cpe:/o:centos:centos:8 Kernel: Linux 4.18.0-240.22.1.el8_3.x86_64 Architecture: x86-64 |
2) 호스트 이름 변경
hostnamectl set-hostname CMD 를 통해서 변경처리를 진행한다.
[root@server1 ~]# hostnamectl set-hostname test.example.com [root@server1 ~]# hostnamectl Static hostname: test.example.com Icon name: computer-vm Chassis: vm Machine ID: 2e197c62b444457e8d86ea622e1441dc Boot ID: 4a3ed6bd063f477ba362206a134e9ee2 Virtualization: vmware Operating System: CentOS Linux 8 CPE OS Name: cpe:/o:centos:centos:8 Kernel: Linux 4.18.0-240.22.1.el8_3.x86_64 Architecture: x86-64 |
* 변경이 완료됨을 확인하면 반드시 reboot을 진행해야 오류없는 적용이 가능하다.
9. 티밍(Teming) / 본딩(Bonding)
여러장의 NIC를 논리적으로 하나처럼 이용하는 방식, 장애 극복(Failover) 과 높은 처리량(Load Balancing)효과를 기대하는 기술.
1) 티밍 구성.
ens33 과 ens36 을 하나의 team0이라는 이름의 티밍으로 구성.
'모의해킹 침해대응 과정 > Liunx 관리' 카테고리의 다른 글
리눅스 방화벽(Firewalld) / day 15 (0) | 2021.04.16 |
---|---|
리눅스 SELinux /day 15 (0) | 2021.04.15 |
리눅스 백업&복구 / day 12, 13 (0) | 2021.04.14 |
리눅스 잡 스케줄링 / day 12 (0) | 2021.04.14 |
리눅스 사용자 그룹관리 / day 12 (0) | 2021.04.14 |