- 2014.12.05
1. SELinux
과거엔 리눅스는 소스코드가 공개되어 보안에 취약하다는 인식이 있었지만
SELinux라는 새로운 보안 모델이 나오면서 보안이 많이 향상되었다.
단, 보안과 편의성은 반비례 한다는 사실을 알아야 한다.
1) 설정 변경 문서
# vi /etc/sysconfig/selinux
disabled 등으로 변경 시 리부팅 해야 적용됨
2. NIC
NIC = Network Interface Card
NIC 설정 문서 파일
# vi /etc/sysconfig/network-scripts/ifcfg-장치명
장치 활성화 및 비활성화
# ifconfig eth2 up
# ifconfig eth2 down
IP주소 변경
# ifconfig eth2 192.168.1.144
IP, B/d, Subnetmask 변경
# ifconfig eth2 10.10.10.10 netmask 255.255.255.0 broadcast 10.10.10.255
장치 down 후 up 하면 원상복귀 된다.
즉, 일시적인 변경을 위한 명령어이다.
영구 변경 되는 네트워크 설정 위한 쉬운 명령어가 있다. (minimal엔 없음)
# system-config-network
# setup
(setup 의 경우 전반적인 셋팅 가능)
3. route
ex)
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 1 0 0 eth2
default 192.168.1.2 0.0.0.0 UG 0 0 0 eth2
Destination : 목적지 주소를 가르킴
Gateway : 외부로 패킷을 포워딩 하기 위한 장치의 IP Address
Genmask : 라우팅 항목의 넷마스크
Flags : U - 인터페이스가 Up인 상태
H - 라우팅 경로를 통해 호스트로의 연결
G - 게이트웨이의 라우트
D - 라우트가 재지정되어 동적으로 생성
M - 라우팅 경로가 ICMP 리다이렉트 메시지를 통해 수정되었을 경우
Metric : 다음 라우트와의 거리
Ref : 라우터에 대한 참조수
Use : 라우트를 찾아본 횟수
Iface : 목적지로 패킷을 보낼 때 사용할 장치
명령어 설명
# route add [ -net | -host ] target [netmask <nm>] [gw <nm>] dev <i/f>
# route del [ -net | -host ] target [netmask <nm>] [gw <nm>] dev <i/f>
게이트웨이 설정
# route add default gw <gw> dev <i/f>
# route del default gw <gw> dev <i/f>
[실습]
1번대 컴퓨터인 나에게 10번대 컴퓨터인 친구가 들어온다고 한다.
나가는, 들어오는 문 지정을 해줘야 한다.
# route add -net 192.168.10.0 netmask 255.255.255.0 dev eth2
=> 친구 ip를 정확히 모르기 때문에 네트워크 아이디를 전체(192.168.10.0)을 넣어준다.
(게이트웨이는 다른 명령어를 통해 설정할 것)
하지만 들어온 친구가 다시 나갈 순 없다. 나가는 문도 만들어주자.
# route add default gw 192.168.10.2 dev eth2
Metric 값(나로부터 떨어진 거리)도 수동으로 설정 해줘야 한다.
# route add default gw 192.168.10.2 dev eth2 metric 2
=> 기존 것에 추가 되는 것이 아닌 새로 추가가 됨. 지정할 땐 한번에 명령어 내리는 것 필요
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 1 0 0 eth2
192.168.10.0 * 255.255.255.0 U 0 0 0 eth2
default 192.168.10.2 0.0.0.0 UG 0 0 0 eth2
default 192.168.1.2 0.0.0.0 UG 0 0 0 eth2
default 192.168.10.2 0.0.0.0 UG 2 0 0 eth2
# route del default gw 192.168.10.2 dev eth2
=> 가장 가까운 metric 값인 0 부터 지운다.
지정한 10번대 지우기
# route del -net 192.168.10.0 (metric 2 dev eth2)
# route del -net 192.168.10.0 netmask 255.255.255.0 (dev eth2)
4. netstat
네트워크 관련 정보를 보는데 일반적으로 사용하는 범용 유틸리티. 옵션 없이 netstat만 사용할 경우, 현재 열려 있는 모든 소켓의 연결 상태를 보여준다.
# netstat -nA inet 항목 설명
Proto : 사용 중인 프로토콜
udp : 전송 속도는 빠르나 오류 검출 없다. 한번 보내면 장땡일 때 주로 사용 ex)radio, tv 등
tcp : 오류 검출
3 hand shake (C -> S) // 가져갈게요. 응 가져가. (확인 후)가져갔어요 다음것 주세요.
Recv-Q : 수신 소켓 버퍼에 존재하는 바이트 수
Send-Q : 송신 소켓 버퍼에 존재하는 바이트 수. 반대편 peer socket에 전송되지 못한 것
Local Address : 로컬 쪽 주소
Foreign Address : 상대편 주소
State
LISTEN : 열려있음
CLOSED : 닫혀있음
ESTABLISHED : 연결 완료
SYN-SENT : 연결을 요청한 상태
SYN-RECEIVED : 연결 요구에 의한 응답을 준 후 확인메시지를 기다리고 있는 상태
FIN-WAIT, CLOSE-WAIT, FIN-WAIT2 : 연결 종료를 위해 종료 요청을 받은 후의 종료 과정
출처 : 구글 어딘가..
[명령어 옵션]
-a : all 정보 출력
-n : full format 형식으로 출력
-l : listen 상태 출력
-t : tcp 방식 출력
-u : udp 방식 출력
-r : route 테이블 출력
-p : program 을 함께 출력
-s : system log 출력 - 트래픽 량 확인 가능
ex) # netstat -s > /backup/20141205_netlog
ex)
# netstat -lntup | grep 포트, 프로그램...
# netstat -lntup | grep ssh
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1813/sshd
tcp 0 0 :::22 :::* LISTEN 1813/sshd
네트워크 안될 때 netstat 명령어 통해서 내가 접속하려는 프로그램 및 포트가 열려있는지 확인한다.
5. ping
ping은 상대 호스트가 응답할 수 있는지 확인하는 프로그램으로, 상대 호스트가 살아 있는지 확인하거나 네트워크 구간에서 패킷 손실을 확인하는 용도로 사용한다.
icmp 프로토콜 이용하며 TTL 에 따른 상대편 OS는 아래와 같이 확인할 수 있다.
TTL : 64, 128 -> Unix, Solaris, Linux
250~ -> Windows
[명령어 옵션]
-c number : 패킷 보낼 횟수
-i number : 일반 사용자는 0.2초가 가장 빠르며 그 이하는 root 권한 필요
-s number : 패킷 사이즈
ex)
# ping -c 5 -i 0.2 -s 1000 192.168.1.134
PING 192.168.1.134 (192.168.1.134) 1000(1028) bytes of data.
1008 bytes from 192.168.1.134: icmp_seq=1 ttl=64 time=0.256 ms
1008 bytes from 192.168.1.134: icmp_seq=2 ttl=64 time=0.080 ms
1008 bytes from 192.168.1.134: icmp_seq=3 ttl=64 time=0.080 ms
1008 bytes from 192.168.1.134: icmp_seq=4 ttl=64 time=0.078 ms
1008 bytes from 192.168.1.134: icmp_seq=5 ttl=64 time=0.078 ms
--- 192.168.1.134 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 802ms
rtt min/avg/max/mdev = 0.078/0.114/0.256/0.071 ms
=> size 1000으로 했는데 1008 이 된 이유 : 헤더값 8byte이기 때문
6. traceroute
상대 호스트까지 도달하는 경로를 확인하는 프로그램
udp, icmp 프로토콜 이용
in Windows) tracert google.com
1) 명령어 옵션
-m number : 추적 횟수
-n : 결과는 숫자만 보여주세요
7. arp
ARP = Adress Resolution Protocal
ARP는 IP주소와 하드웨어주소인 MAC 주소를 매칭시켜 주는 테이블이며 네트워크에서 통신하기 위해서는 MAC 주소를 사용한다.
=> 실제. 이것 이용하여 비번 걸려있는 AP 사용하는 방법이 있다.
ex)
# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.1 ether 00:50:56:c0:00:08 C eth2
192.168.1.2 ether 00:50:56:e6:c8:78 C eth2
임의의 IP주소와 MAC 주소를 매칭시켜보자.
# arp -s 192.168.1.10 00:11:22:33:44:55
# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.254 ether 00:50:56:eb:7d:53 C eth2
192.168.1.1 ether 00:50:56:c0:00:08 C eth2
192.168.1.2 ether 00:50:56:e6:c8:78 C eth2
192.168.1.10 ether 00:11:22:33:44:55 CM eth2
삭제
# arp -d 192.168.1.10
# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.254 ether 00:50:56:eb:7d:53 C eth2
192.168.1.1 ether 00:50:56:c0:00:08 C eth2
192.168.1.2 ether 00:50:56:e6:c8:78 C eth2
192.168.1.10 (incomplete) eth2
=> 삭제되는데 조금의 시간인 필요
8. nslookup
DNS Server 통해 도메인 - ip 확인 할 수 있음.
# yum install -y bind-utils
명령어를 통해 nslookup 명령어 설치 가능
in windows)
nslookup google.com
set type=ns : 네임서버의 설정 값 볼 수 있음
set type=any : 모든 정보
set type=a : 기본 설정
9. dig
리눅스 전용 명령어. nslookup 보다 더 자세히 보여준다.
하지만 nslookup 을 더 많이 쓴다.
10. host
nslookup 과 비슷하지만 간단하게 보여주는 명령어
'Study > CentOS' 카테고리의 다른 글
[24] openSSH, system-config-firewall, scp, sftp (0) | 2015.03.28 |
---|---|
[23] xinetd, telnet, krb5-telnet (0) | 2015.03.28 |
[21] 이론 - ip, subnetmask, prefix (0) | 2015.03.28 |
[20] 분실된 root 비밀번호 재설정, grub 암호설정 ps, top, pstree, kill, who, write, wall, skill, inittab, uname, file (0) | 2015.03.28 |
[19] partition, mkfs, mount 실습 (0) | 2015.03.28 |