반응형

IP Address는,

  • 네트워크에 연결된 장치들을 인식하기 위한 논리적인 주소
  • 주소 표기 방법에 따라 IPv4 체계와 IPv6 체계로 구분한다.
  • 식별의 편의를 위해 Classful Addressing 방식을 사용한다.

IPv4는,

  • 총 32비트 (4 바이트)로 표기
  • 일반적으로 Classful방식으로 표기하여
    • 4개의 Octets(4개의 8비트값)으로 표현되는 32bit 이진수이고, 각 Octets는 마침표로 구분된다.
    • IP Address는 흔히 2가지 방법으로 표기된다
      • 10진수 : 예, 122.35.9.100, 각 마침표간의 숫자는 0~255
      • 2진수 : 예, 01111010.00100011.00001001.01100100, 숫자는 0~1
    • 주소의 구조는, {Network Address}+{Host Address} / (IP Prefix) 형태로 표시한다.
      • 예를 들어, 네트워크 주소 "211.10.20.0 / 24" 가 있다면,
        • "211.10.20"은 Network Address
        • ".0"은 Host Address
        • "/24"는 Prefix
  • Network Address와 Host Address를 구분하는 기준은, IP의 Class와 Netmask이다.
Class type IP Range Default SubnetMask (Prefix)
: A Class : : 0.0.0.0 ~ 126.255.255.255 : : 255.0.0.0 (/8) :
: B Class : : 128.0.0.0 ~ 191.255.255.255 : : 255.255.0.0 (/16) :
: C Class : : 192.0.0.0 ~ 223.255.255.255 : : 255.255.255.0 (/24) :
: D Class : : 224.0.0.0 ~ 239.255.255.255 : : multicast address :
: E Class : : 240.0.0.0 ~ 255.255.255.255 : : reserved address :
  • 하나의 네트워크를 여러개의 네트워크로 나눠서 쓰기 위해 Subnet Mask를 활용한다. (VLSM)
    • C Class인 210.10.20.0/24 네트워크는,
      • Default SubnetMask는 255.255.255.0, Prefix /24이고,
      • 1개의 Network Address (210.10.20.0)와 254개의 Host Address(210.10.20.1~210.10.20.254)를 갖는다.
    • 210.10.20.0 네트워크를 두개로 나눈다면,
      • SubnetMask는 255.255.255.128, Prefix /25이고,
      • 2개의 Network가 되어,
        • 첫번째 네트워크는 Network Address (210.10.20.0)와 126개의 Host Address(210.10.20.1~210.10.20.126)를 갖는다.
        • 두번째 네트워크는 Network Address (210.10.20.128)와 126개의 Host Address(210.10.20.129~210.10.20.254)를 갖는다.
      • 여려개의 네트워크로 나누는 방법은, IPv4 Subnet Calculator를 활용하면 편리하다. (참고: IP Subnet Calculator: https://www.calculator.net/ip-subnet-calculator.html)
  • 웹에서의 URL 표기방법 : http://210.10.20.1:80

예약된 주소와 주요 용어들

  • 127.0.0.1 은 장치의 자기자신의 loopback 주소
  • 0.0.0.0은 default router 주소
  • Host Address의 첫번째 주소 (예:211.10.20.0)는 네트워크 주소
  • Host Address의 마지막 조수 (예:211.10.20.255)는 브로드캐스트 주소

IPv6는,

  • 총 128비트 (16바이트)로 표기
  • 인터넷 상의 IPv4 주소 자원의 고갈을 해소하기 위해 만든 주소 체계
  • 16진수 총 32개 숫자를, 4개마다 콜론으로 구분하여, 8개 묶음으로 표시한다
    • 예: 2008:2acf:15ba:0101:0001:0010:0100:ab1d
  • 주소 축약 표기
    • 앞쪽 연속되는 '0'은 생략 (예: 2008:2acf:15ba:101:1:10:100:ab1d)
    • 한칸 전체가 '0'인 경우는 전부 생략 (예: 0:0:0:0:0:0:0:1 -> ::1)
  • 웹에서 URL 표기방법 : http://[2008:2acf:15ba:101:1:10:100:ab1d]:80

Classful vs Classless Addressing

  • 위에 설명한 일반적인 IPv4 주소체계처럼, A/B/C Class로 분류하고, 점으로 4개의 영역을 분리한 표기 방식을 Classful 이라고 말한다.
  • 반대로, Classless는, 규격화된 구분없이 32비트 2진수로 표시하는 방식을 말한다.
  • Classfull Addressing=클래스풀 주소체계=클래스 있는 주소체계

FLSM(Fixed Length Subnet Masks) vs VLSM(Variable Length Subnet Masks)

  • Classful Addresing에서 정의한 Class 기준을 FLSM 이라 하고,
  • VLSM은, 특정 class 네트워크 (예를 들어 C class)를 사용할 때, 한 네트워크의 호스트 갯수가 고정되어, 사용하지 않는 호스트만큼 IP 주소의 낭비가 생긴다. IP 주소의 낭비를 줄이기 위해 SubnetMask(또는 Prefix)를 가변으로 조절하여, 네트워크를 잘게 쪼개서, IP 주소가 필요한 만큼의 네트워크로 나눠서 사용하는 것을 VLSM(Variable Length Subnet Mask)를 사용한다고 말한다.
  • Subnet (서브넷) : 넷마스크의 마스킹 비트수를 늘려서 네트워크 갯수를 늘리고, 각 네트워크 당 호스트 수를 줄이는 것 ( /24 --> /25 --> /26)
  • Supernet (슈퍼넷) : 한 네트워크의 호스트수를 default class보다 늘리기 위해, 마스킹 비트수를 줄이는 것 (/24 --> /23 --> /22)
반응형
반응형

 

linux 터미널에서 한글 메시지가 깨지는 경우, 일시적으로 영어로 전환해야할 경우가 있다.

 

언어코드 변경명령 chcp

# chcp code

 

리눅스 shell에서 쓰는 "export LANG=ko_KR.EUC-KR"와 유사한 효과를 낸다.

 

사용법

# chcp 437 // change to English

# chcp 949 // change to Korean-완성형한글

# chcp 936 // change to Chinese

# chcp 65001 // change to UTF-8

 

chcp 전체 코드 참고자료

Code Page Identifiers - Win32 apps

chcp명령어 -docs.microsoft.com

 

 

 

#linuxchangelanguage #리눅스한영메시지변환

 

 

 

반응형
반응형

domain 주소의 응답을 확인하는 명령어인 nslookup 과 dig.

일반적으로 윈도우OS에서는 nslookup을 쓰고, linux계열 OS에서는 dig 명령을 쓴다.

(따로 프로그램을 설치하면 윈도우에서도 dig 명령 쓸 순 있지만)

 

어떤 옵션을 쓸 수 있는지 알아보자

 

우선, 확인 가능한 dns의 record type을 알아보자.

 

# 가장 많이 사용하는 top 10 dns record type 목록

 

o Address Mapping record (A Record)   
   - also known as a DNS host record, stores a hostname and its corresponding IPv4 address.

o IP Version 6 Address record (AAAA Record)   
   - stores a hostname and its corresponding IPv6 address.

o Canonical Name record (CNAME Record)
   - can be used to alias a hostname to another hostname. When a DNS client requests a record that contains a CNAME, which points to another hostname, the DNS resolution process is repeated with the new hostname.

o Mail exchanger record (MX Record)
   - specifies an SMTP email server for the domain, used to route outgoing emails to an email server.

o Name Server records (NS Record)  
   - specifies that a DNS Zone, such as “example.com” is delegated to a specific Authoritative Name Server, and provides the address of the name server.

o Reverse-lookup Pointer records (PTR Record)
   - allows a DNS resolver to provide an IP address and receive a hostname (reverse DNS lookup).

o Certificate record (CERT Record)
   - stores encryption certificates—PKIX, SPKI, PGP, and so on.

o Service Location (SRV Record) 
   - a service location record, like MX but for other communication protocols.

o Text Record (TXT Record)
   - typically carries machine-readable data such as opportunistic encryption, sender policy framework, DKIM, DMARC, etc.

o Start of Authority (SOA Record)  
   - this record appears at the beginning of a DNS zone file, and indicates the Authoritative Name Server for the current DNS zone, contact details for the domain administrator, domain serial number, and information on how frequently DNS information for this zone should be refreshed.

dns record type 전체 목록은 wiki 참고 (https://en.wikipedia.org/wiki/List_of_DNS_record_types)

 

# nslookup 과 dig 명령어 사용법 비교

case Windows nslookup command Linux dig command
Command format

Usage:
C> nslookup -type=
typename domainurl lookupdnsserver

type 옵션 대신 q 옵션을 쓸 수도 있다
C> nslookup -q=typename domainurl lookupdnsserver

 

Usage:
# dig [@global-server] [domain] [q-type] [q-class] {q-opt} {global-d-opt} host [@local-server] {local-d-opt} [ host [@local-server] {local-d-opt} [...]]





record type only

Usage
C> nslookup -type=
typename domainurl

C> nslookup -type=MX google.com

Usage:
# dig 
domainurl

# dig google.com MX

Select query-dns-server

Usage:
C> nslookup -type=
recordtype domainurl dns-server-ip

C> nslookup -type=MX google.com 1.1.1.1

Usage:
# dig @dns-server 
domainurl recordtype

# dig @1.1.1.1 google.com MX


 

#nslookup명령어사용법 #dig명령어사용법 #comparenslookupdig #howtousedig #howtousenslookup

 

반응형
반응형

리눅스에서 IP 주소 할당 및 네트워크 설정/변경하는 방법 4가지를 설명해보겠습니다.

 목차

1.    ifconfig 를 이용하여 네트워크 IP 설정하기

2.    네트워크 인터페이스 장치명 파일(eth0 )으로 설정하기

3.    GUI 모드 (system-config-network) 로 네트워크 설정하기

4.    X 윈도우 환경을 위한 네트워크 설정과 X 윈도우 실행

 

1.     ifconfig 를 이용하여 네트워크 IP 설정하기 

1.1 현재 네트워크 정보 확인

   리눅스시스템 네트워크 정보를 ifconfig 명령으로 확인할 수 있습니다.

   IP 주소, subnet mask, broadcast 주소, MAC 주소 등을 확인할 수 있습니다. 

[myname@myhost ~]$ ifconfig
em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 101.102.103.75  netmask 255.255.255.128  broadcast 101.102.103.127
        ether 14:fe:bb:cc:aa:13  txqueuelen 1000  (Ethernet)
        RX packets 68105617  bytes 100671258415 (93.7 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2385151  bytes 227706193 (217.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

em2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 14:fe:bb:cc:aa:15  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        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
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 64  bytes 4834 (4.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 64  bytes 4834 (4.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[myname@myhost ~]$

 

1.2 ifconfig 명령어 형식 

Config 명령어로 IP address, subnet mask, broadcast 주소를 설정합니다.

 

명령어 형식

# ifconfig [NIC 장치명] [IP 주소] netmask [서브넷마스크 주소] broadcast [브로드캐스트주소] up

# ifconfig eth0 101.102.103.75 netmask 255.255.255.128 broadcast 101.102.103.127 up

 

         설명
            [NIC 장치명] = eth0
            [IP
주소]
= 101.102.103.75
            [
서브넷마스크 주소] = 255.255.255.128
            [
브로드캐스트주소] =101.102.103.127
            up = up
또는 down 선택 가능

         주의할 점
             CLI
모드 ($ 또는 # 프롬프트) 상태에서 ifconfig 명령으로 IP 주소를 설정하면,
            
시스템 메모리 상에 저장되어 동작하지만, 휘발성 상태이기 때문에 서버 재시작을 하면
            이 내용은 사라집니다.

            그래서, 서버 재시작 후에도 영구적으로 설정 변경하려면
            아래 2 번과 같이 설정 파일을 이용하여 설정해야 합니다.

  

 

2. 네트워크 인터페이스 장치명 파일(eth0 등)으로 설정하기

기본적으로 네트워크 설정은 이 방식을 권장합니다.

아래 네트워크 설정 파일들에 대해 설명하겠습니다.

2.1      /etc/sysconfig/network 설정파일

2.2      /etc/resolv.conf 설정파일

2.3      /etc/sysconfig/network-scripts/ifcfg-eth0 설정파일

2.4      /etc/rc.d/init.d/network  실행명령

2.5      유동IP (DHCP) 설정
 

 

2.1    /etc/sysconfig/network 파일 설정

   리눅스서버의 hostname 변경, 네트워크 활성화(yes/no)를 위한 설정파일입니다.
이 파일은 바로 적용되지 않고, 서버 재시작 또는 네트워크 재시작 명령으로 동작합니다.

 

[myname@myhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=myserver
GATEWAY=101.102.103.1

NETWORKING=yes

네트워크를 활성화(yes), 비활성화(no)를 설정합니다.

 

NETWORKING_IPV6=no

 IPv6 통신 지원을 yes/no 로 설정합니다.

 

HOSTNAME=MYSERVER

 시스템의 hostname을 설정합니다.

 

GATEWAY=101.102.103.1

 서버의 default gateway를 지정합니다.

각 이더넷 설정파일에서 게이트웨이를 각각 지정하지 않는 다면, 이 정보가 기본으로 적용됩니다.

각 이더넷 설정파일에서 게이트웨이를 관리한다면 이 항목은 생략할 수 있습니다.

   

2.2    /etc/resolv.conf 파일 설정

 

시스템의 hostnamedns 서버를 설정하는 파일입니다.

 

[myname@myhost ~]# cat /etc/resolv.conf
nameserver 164.124.101.2
nameserver 168.126.63.1
[myname@myhost ~]# 

  

참고 주요 인터넷 사업자별 DNS 대표 주소

     SK브로드밴드
        기본 : 221.139.13.130, 보조 : 210.94.0.73
    
KT
       
기본 : 168.126.63.1,  보조 : 168.126.63.2
    
LG 유플러스
       
기본 : 164.124.101.2, 보조 : 203.248.252.2
   
구글
       
기본 : 8.8.8.8, 보조 : 8.8.4.4
   
클라우드 플레어
       
기본 : 1.1.1.1, 보조 : 1.0.0.1

 DNS 서버 주소는, 이 시스템이 domain 주소로 어떤 정보를 이용할 때 쓰이는 정보로, 이 시스템이 사용하는 인터넷회선 사업자 또는 IDC사업자가 추천하는 정보를 이용하면 되고, 모른다면 위 정보중에서 선택하여 이용하면 됩니다.

 

2.3      /etc/sysconfig/network-scripts/ifcfg-eth0 파일 설정

 네트워크 인터페이스 장치명에 네트워크 정보를 설정하는 파일입니다.
장치명은 시스템에 따라, eth0, eth1, encap1, encap2 등 다양한 형태로 표시될 수 있으니, 먼저 네트워크 인터페이스 이름을 확인해두어야 합니다.

그리고, BROADCAST, NETMASK, NETWORK, IP ADDRESS 정보가 맞게 설정되어야 정상적인 IP 통신이 가능합니다.

시스템에 등록된 이더넷 설정파일들은 /etc/sysconfig/network-scripts/ 디렉토리 내에 있습니다.

네트워크 인터페이스 이름을 모른다면, 아래 명령들중에서 가능한 것으로 확인할 수 있습니다.

# nmcli d
DEVICE   TYPE        STATE         CONNECTION
eth0      ethernet    connected     system eth0
lo        loopback    unmanaged   --

#
# ifconfig -a   (
또는 # ip a)
eth0: ……
lo: ……

 

 장치명 eth0 의 파일 설정을 해보겠습니다.

[myname@myhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=101.102.103.127
HWADDR=A4:BA:DB:55:BB:FF
IPADDR=101.102.103.75
NETMASK=255.255.255.128
NETWORK=101.102.103.0
ONBOOT=yes
[myname@myhost ~]# 

 

  설명

       DEVICE=eth0
      
     설정할 네트워크 인터페이스 장치명이 eth0 임을 지정합니다.
            파일명의 표기와 맞춰야 합니다.

      BOOTPROTO=static
           고정 IP(static) 또는 유동IP(dhcp) 사용여부를 설정합니다.

      BROADCAST=101.102.103.127
           해당 IP가 속한 네트워크의 브로드캐스트 IP주소입니다.
 

      HWADDR=A4:BA:DB:55:BB:FF 
           네트워크 인터페이스 장치의 MAC 주소를 설정하며, 대부분 자동 설정됩니다.

      IPADDR=101.102.103.75
          네트워크 인터페이스 장치의 IP 주소를 설정합니다.

      NETMASK=255.255.255.128  
         서브넷마스크 IP 주소를 설정합니다.

      NETWORK=101.102.103.0  
        네트워크 주소를 설정합니다.

     GATEWAY=101.102.103.1  
        이 네트워크 인터페이스의 게이트웨이를 설정하는 항목입니다.
       
이 항목을 설정하지 않으면, /etc/sysconfig/network 파일에 지정된 게이트웨이 정보가 적용됩니다. 

     ONBOOT=yes
        시스템 부팅시에 이 설정의 활성화 또는 비활성화를 선택합니다.

 

2.4  실행 명령(네트워크 설정 적용)    

     # /etc/rc.d/init.d/network restart

     또는

     # service network restart

     서버 시스템을 재시작하지 않고, 네트워크 인터페이스 설정만을 재시작하는 명령입니다.
   
이 명령을 실행하거나, 서버 시스템을 재시작해야 설정파일에 작성한 내용이 적용됩니다.

 

 2.5 그 외, DHCP환경의 네트워크 설정 방법

    네트워크 환경이 고정IP를 사용하지 않고, 유동IP (DHCP ) 이용 환경이라면,
   
아래와 같이 간단하게 설정할 수 있습니다.

    네트워크 인터페이스 장치는 ifcfg-eth0 으로 예를 들어보겠습니다.

        a.    /etc/sysconfig/network 파일의 설정

NETWORKING=yes

        b.    /etc/sysconfig/network-scripts/ifcfg-eth0 파일의 설정

DEVICE=eth0

BOOTPROTO=dhcp

ONBOOT=yes

     그 외 항목은 필요없고, 남겨두면 혼돈되니 삭제할 것을 권합니다.

    앞서 설명한, 실행 (네트워크 설정 적용) 방법을 실행하면 적용됩니다.

 

 

3. GUI 모드 (system-config-network) 로 네트워크 설정하기

 

GUI 화면을 이용하여 네트워크 IP를 설정하는 방법이며, 아래 명령으로 GUI 설정화면을 실행합니다.

설정할 내용은 앞서 설명한 “2. 네트워크 인터페이스 장치명 파일(eth0 )으로 설정하기의 내용을 참고하기 바랍니다.

 

명령

#/usr/sbin/system-config-network

 

 

명령 스크립트 내용

# cat /usr/sbin/system-config-network

#!/bin/sh

 

If [ -n “$DISPLAY” -a -f /usr/sbin/system-config-network-gui ]; then

  exec /usr/sbin/system-config-network-gui “$@”

else

exec /usr/sbin/system-config-network-tui “$@”

fi

#

 

실행화면

# cat /usr/sbin/system-config-network

 GUI 화면 구성은 리눅스 버전마다 다를 수 있습니다.

 

4.    X 윈도우 환경을 위한 네트워크 설정과 X 윈도우 실행

제 경우에는, linux cli 모드에서 네트워크 설정을 마친 후 X 윈도우 모드로 변경하여 사용하는 것이 편해서 이 방법을 설명합니다.

네트워크 설정은 앞의 2번 방법을 그대로 이용하고,
이후, X윈도우를 아래와 같이 실행합니다.

X윈도우 설치하기

# yum groupinstall “x window system”

# yum groupinstall “Desktop”

 

X 윈도우 환경으로 모드 변경  설정

# vi /etc/inittab

   id:3:initdefault

 id:5:initdefault 로 수정하고, 저장한다

 

# init 5

  실행하면 X11 윈도우 환경으로 시작하게 된다

 

터미널의 글자가 깨지는 경우

# sudo yum groupinstall “font”

 

 

X 윈도우 환경 준비의 상세 정보는 아래 자료를 참고하세요.
 
https://www.wikihow.com/Configure-X11-in-Linux

 

이상으로 네가지 네트워크 설정 방법 설명을 마치겠습니다.

감사합니다.

반응형
반응형

CentOS 리눅스 yum 사용법 

[업데이트 목록 보기]
# yum list updates

[업데이트 목록의 다운로드 및 업데이트 설치]
# yum update –y

[설치된 rpm 패키지 목록 보기]
# rpm -qa
# yum list installed

[gcc 패키지 설치여부 확인]
# rpm -qa | grep gcc
# yum list installed gcc

[gcc 패키지 설치]
# yum install gcc gcc-c++

[gcc 패키지 업데이트]
# yum update gcc gcc-c++

[패키지 이름으로 검색]
# yum list 패키지명
# yum list 정규식
# yum list gcc
# yum list gcc*

[여러개의 패키지를 설치]
# yum install gcc gcc-c++

[패키지 삭제]
# yum remove gcc gcc-c++

[설치 가능한 모든 패키지 보기]
# yum list all

[패키지 그룹 보기]
# yum grouplist

[그룹 패키지 설치]
# yum groupinstall “Development Tools”

[그룹 패키지 업데이트]
# yum groupupdate “Development Tools”

[그룹 패키지 삭제]
# yum groupremove “Development Tools”

[아키텍처 지정 설치]
# yum install mysql.i386

[파일 보유 패키지명 확인]
# rpm -qf /etc/passwd
# yum whatprovides /etc/passwd

[메뉴얼 페이지 보기]
# man yum

[yum 미러 서버중 속도가 빠른 서버를 자동으로 찾아서 연결 (yum fastestmirror 패키지를 설치)]
Cent OS 4.X
# yum install yum-plugin-fastestmirror -y
Cent OS 5.X
# yum install yum-fastestmirror –y

[rpmforge 저장소 사용]
기본제공 rpm이외의 추가적인 rpm 패키지를 사용하고자 한다면 rpmforge를 이용

[끝]

반응형
반응형

리눅스 iptables 사용법:
iptables는 리눅스를 설치하면 보통 기본적으로 설치되므로
설치방법은 따로 설명하지 않으며 예제 위주로 간단히 사용법을 알아 보겠습니다.
아래 명령어는 모두 root권한으로 실행해야 됨을 미리 알려 드립니다.

1. 리눅스에서 부팅시 자동으로 iptables 서비스 시작하기:
  아래 2가지 방법 중에 하나로 보통 서비스를 자동실행하도록 등록한다.
1) 쉘창에서 3, 5 모드에서 재부팅시 자동으로 iptables 서비스가 시작되도록 하는 명령어
# chkconfig --level 35 iptables on
--> 3: multi console 모드 , 5: X윈도우즈 모드
2) ntsysv 에서 iptalbes 서비스 체크
# ntsysv

2. 먼저 iptables 의 옵션은 아래와 같다.
iptables 에는 3가지 chain 이 존재: INPUT, OUTPUT, FORWARD
1) 필터링 사슬 전체 조작 옵션
-N : 새로운 사슬 만들기
-L : 사슬의 규칙을 보여주기
-X : 비어 있는 사슬을 없애기
-P : 사슬의 규칙을 바꾸기
-F : 사슬에 있는 모든규칙을 지우기

2) 사슬의 규칙을 조작하는 옵션
-A : 사슬에 새로운 규칙을 추가하기(맨아래에 추가됨)
-I : 사슬에 규칙을 삽입하기(맨앞쪽에 삽입됨)
-R : 사슬에 있는 규칙을 다른 규칙과 교환하기
-D : 사슬에 있는 규칙을 없애기

3) 규칙을 정의하는데 필요한 하위옵션
-s : 출발지 주소
-d : 목적지 주소
--sport : 출발지(source) 포트번호
--dport : 목적지 포트번호
-p : 프로토콜(tcp, udp, icmp ..)
-i : 패킷이 들어오는 네트워크 인터페이스(inbound interface)
-o : 패킷이 나가는
-f : 분절된(fragment) packet
-j : 규칙을 지정(jump)

3. 기본정책을 ACCEPT로 설정하는 법:
# iptables -P INPUT ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -P FORWARD ACCEPT

4. 현재 자신의 방화벽 규칙을 볼 수 있는 명령:
# iptables --list 또는 iptables -L
처음으로 명령을 실행하면 아래와 같이 아무 정책도 설정되어 있지 않는 것을 볼 수 있다.
# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

Chain RH-Firewall-1-INPUT (0 references)

5. 규칙 추가 후에 저장하기 :
현재 규칙을 저장하는 명령어는 아래와 같다.
# /etc/rc.d/init.d/iptables save 
-> /etc/sysconfig/iptables 에 저장됨
위 명령어로 저장후에 실제 저장된 파일을 확인해 보면 아래와 같이 아무 설정이 안된것을 알 수 있다.
# vi /etc/sysconfig/iptables
# Generated by iptables-save v1.3.5 on Thu Jun 25 18:25:02 2009
*filter
:INPUT ACCEPT [11:764]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [320:65885]
:RH-Firewall-1-INPUT - [0:0]
COMMIT
# Completed on Thu Jun 25 18:25:02 2009

이제 간단한 규칙을 추가해 보자.
예를 들어 ip= 192.168.0.111 를 입력단에서 패킷을 drop하는 규칙을 추가하고 현재 정책을 확인한다.
# iptables -A INPUT -s 192.168.0.111 -j DROP
# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
DROP       all  --  192.168.0.111       anywhere           

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

Chain RH-Firewall-1-INPUT (0 references)

이제 저장을 한 후에 저장된 파일을 확인해 보면 아래와 같이 규칙이 저장되어 있는것을
볼 수 있다.
# /etc/rc.d/init.d/iptables save
# vi /etc/sysconfig/iptables
# Generated by iptables-save v1.3.5 on Mon Dec  7 14:55:45 2009
*filter
:INPUT ACCEPT [6561:820283]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5984:1470873]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -s 192.168.0.111 -j DROP  <--- 이부분이 새로 추가한 규칙
COMMIT
# Completed on Mon Dec  7 14:55:45 2009

6. 현재 iptables 규칙을 초기화 하기:
# iptables -F
위 명령어를 실행하고 정책을 보면 아래와 같이 초기화 되어 있는 것을 알 수 있다
# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

Chain RH-Firewall-1-INPUT (0 references)

그러나 실제 저장되어 있는 내용을 보면 아래와 같이 초기화가 되어 있지 않는 것을 볼 수 있다.
# vi /etc/sysconfig/iptables
# Generated by iptables-save v1.3.5 on Mon Dec  7 14:55:45 2009
*filter
:INPUT ACCEPT [6561:820283]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5984:1470873]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -s 192.168.0.111 -j DROP  <--- 이부분이 새로 추가한 규칙
COMMIT
# Completed on Mon Dec  7 14:55:45 2009

즉, 초기화 명령어는 현재상태에만 적용되며,
iptables 서비스가 재시작되거나 서버가 리부팅되면 /etc/sysconfig/iptables 에 저장되었던
규칙이 다시 적용된다는 것을 알 수 있다.

7. 정책을 빠르게 수정하여 적용하는 법 :
 6 에서와 같이 정책을 초기화 하고 서비스를 재시작해야 하는 방법은 상당히 비효율적인것을 알 수 있다.
따라서 현재 적용되는 정책을 특정파일(날짜별)로 저장해서 수정사항이 있다면
바로 그 저장된 파일을 수정한후 바로 정책에 적용하는 방법은 아래와 같다.

1) 현재 적용되고 있는 정책을 읽기 가능한 텍스트파일 형태로 저장하는 명령어는 아래와 같다.
# iptables-save > /root/iptable_091207.save

확인해 보면 똑같이 저장되어 있는것을 볼 수 있다.
# cat  /root/iptable_091207.save
# Generated by iptables-save v1.3.5 on Mon Dec  7 14:55:45 2009
*filter
:INPUT ACCEPT [6561:820283]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5984:1470873]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -s 192.168.0.111 -j DROP  <--- 이부분이 새로 추가한 규칙
COMMIT
# Completed on Mon Dec  7 14:55:45 2009

2) 이제 저장되어 있는 iptables 파일을 바로 편집기로 수정 한후 저장한다.
# vi /root/iptable_091207.save
# Generated by iptables-save v1.3.5 on Mon Dec  7 14:55:45 2009
*filter
:INPUT ACCEPT [6561:820283]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5984:1470873]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -s 192.168.0.199 -j DROP  <--- 편집기에서 111 -> 199 로 변경
-A INPUT -s 222.222.222.222 -j DROP <--- 편집기에서 새로 정책 추가
COMMIT
# Completed on Mon Dec  7 14:55:45 2009

3) 저장된 정책을 바로 적용하는 명령어는 다음과 같다.
# cat /root/iptable_091207.save | iptables-restore

확인해 보면 편집기로 수정했던 부분이 아래와 같이 바로 iptables 정책이 적용되어 있는 것을 알 수 있다
# iptables -L
# Generated by iptables-save v1.3.5 on Mon Dec  7 14:55:45 2009
*filter
:INPUT ACCEPT [6561:820283]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5984:1470873]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -s 192.168.0.199 -j DROP  <--- 편집기에서 111 -> 199 로 변경했던 부분
-A INPUT -s 222.222.222.222 -j DROP <--- 편집기에서 새로 정책 추가했던 부분
COMMIT
# Completed on Mon Dec  7 14:55:45 2009

8. iptables 사용예 :
마지막으로 사용예를 몇개 알아보면 아래와 같다.

예1) 소스 ip가 192.168.0.111 인 접속의 모든 접속 포트를 막아라.
# iptables -A INPUT -s 192.168.0.111 -j DROP

예2) INPUT 사슬에 출발지 주소가 127.0.0.1(-s 127.0.0.1) 인 icmp 프로토콜(-p icmp) 패킷을 거부(-j DROP)하는
정책을 추가(-A)하라
# iptables -A INPUT -p icmp -s 127.0.0.1 -j DROP

예3) INPUT 사슬에 목적지 포트가 23번(--dport23)인 tcp 프로토콜(-p tcp) 패킷을 거부하는(-j DROP)규칙을
추가(-A) 하라.
# iptables -A INPUT -p tcp --dport 23 -j DROP

예4) INPUT 사슬에 목적지 포트 번호가 80번(--dport 80)인 tcp 프로토콜(-p tcp)패킷을 받아들이는(-j ACCEPT)
규칙을 추가(-A) 하라
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT

예5) INPUT 사슬에 목적지 포트번호가 1023번 보다 작은 모든 포트(--dport :1023)인 tcp프로토콜(-p tcp)패킷을
거부하는(-j DROP)규칙을 추가(-A)하라
# iptables -A INPUT -p tcp --dport :1023 -j DROP

예6) ftp포트를 열어라
# iptables -I INPUT -p tcp --dport 21 -j ACCEPT

예7) imap 서비스를 방화벽에서 열어라
# iptables -I INPUT -s 192.168.0.0/255.255.255.0 -p udp --dport 143 -j ACCEPT

예8) 웹서버 방화벽 열어라
# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

예9) 웹서버 포트 80 -> 8880으로 교체하라( 웹서비스 포트 변경시 /etc/services 에서도 변경 해줘야 함)
# iptables -R INPUT 2 -p tcp --dport 8880 -j ACCEPT

예10) domain-access_log 파일에 있는 모든 ip의 모든 접속 포트를 막아라(DOS공격 방어시 사용)
# cat domain-access_log |awk '{print $1}'|sort |uniq |awk '{print "iptables -A INPUT -s "$1" -j DROP"}'|/bin/bash

끝으로,
iptables 재시작
# /etc/init.d/iptables restart
or
# service iptables restart
.

좀 오래된 포스트인가 쩝~




반응형
반응형

여태까지 설정한 것을 사용자가 사용할 수 있게 방화벽을 열어주어야 한다.

 

# cd /etc/sysconfig/

# vi iptables

 

=================================================================================================

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
=================================================================================================

 

여기까지가 대체로 기본으로 설정되어 있을 것이다.

위에서 사용할 포트만 남기고 삭제한다. 필요한 것은 추가도~

 

그리고 다음을 추가한다.

 

-A RH-Firewall-1-INPUT -m recent --update --seconds 60 --name TOO_MANY_REQUESTS -j DROP
-A RH-Firewall-1-INPUT -m hashlimit --hashlimit 10/s --hashlimit-burst 24 --hashlimit-mode srcip --hashlimit-name HTTP_REQ_LIMIT -j ACCEPT
-A RH-Firewall-1-INPUT -m recent --set --name TOO_MANY_REQUESTS -j DROP
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

 

전체적으로 다음과 같이 될 것이다.

 

=================================================================================================

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
-A RH-Firewall-1-INPUT -m recent --update --seconds 60 --name TOO_MANY_REQUESTS -j DROP
-A RH-Firewall-1-INPUT -m hashlimit --hashlimit 10/s --hashlimit-burst 24 --hashlimit-mode srcip --hashlimit-name HTTP_REQ_LIMIT -j ACCEPT
-A RH-Firewall-1-INPUT -m recent --set --name TOO_MANY_REQUESTS -j DROP
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT
=================================================================================================

이 룰은 위의 룰을 통과하여 들어온 패킷에 대하여

각 출발지 ip에 대하여 초당 24회 이상(평균 10회 이상)의 웹 서비스 요청 패킷이 접수될 경우

해당 IP를 60초동안 접근 금지시키는 스크립트입니다.

이 60초 안에 또 요청 패킷이 접수되면 그 시점부터 60초를 다시 셉니다.

# /etc/init.d/iptables restart

# iptables -L

 

Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
RH-Firewall-1-INPUT  all  --  anywhere             anywhere           

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        
RH-Firewall-1-INPUT  all  --  anywhere             anywhere           

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination        
ACCEPT     all  --  anywhere             anywhere           
ACCEPT     icmp --  anywhere             anywhere            icmp any
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     udp  --  anywhere             anywhere            state NEW udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:http
DROP       all  --  anywhere             anywhere            recent: UPDATE seconds: 60 name: TOO_MANY_REQUESTS side: source
ACCEPT     all  --  anywhere             anywhere            limit: avg 10/sec burst 24 mode srcip
DROP       all  --  anywhere             anywhere            recent: SET name: TOO_MANY_REQUESTS side: source
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibite

 

 

 

반응형
반응형

Centos 5/6 설치후 라이브러리 설치

yum -y install \
autoconf \
bzip2 bzip2-libs bzip2-devel \
curl curl-devel \
ftp \
freetype freetype-devel \
gamin-devel \
gd gd-devel \
libXau libXau-devel \
libXdmcp libXdmcp-devel \
libXpm libXpm-devel \
libevent libevent-devel \
libidn libidn-devel \
libjpeg libjpeg-devel \
libmcrypt libmcrypt-devel \
libpng libpng-devel \
libsepol libsepol-devel \
libtool-ltdl libtool-ltdl-devel \
libxml2 libxml2-devel \
openssl-devel \
pcre-devel \
readline-devel \
zlib zlib-devel \
gdbm-devel ncurses-devel \
rsync wget \
expat expat-devel

반응형
반응형


업데이트된 문서를 참고해주세요 --> https://ramenshin.tistory.com/184



IP 주소 할당 네트워크 설정/변경 하는 방법

방법으로는 4가지가 존재합니다.

 

1. ifconfig 이용하여 특정 이더넷의 네트워크 설정하는 방법

2. 네트워크 설정 파일들을 이용하여 네트워크를 설정하는 방법

3. system-config-network 유틸리티를 이용하여 X 윈도우 환경 네트워크 설정방법

4. X 윈도우 환경에서 네트워크 설정과 새로운 이더넷 추가방법

 

이렇게 4가지가 존재하는데 여기서는 1 번과 2 번의 방법을 알아보도록 하겠습니다

 

 

1. ifconfig 이용하여 특정 이더넷의 네트워크 설정하는 방법

 

다음 그림은 리눅스시스템 네트워크 설정을 ifconfig 명령을 통해 것입니다.

그림에서 있듯이 IP 주소, subnet mask, broadcast 주소, MAC 주소 등을 확인할 있습니다.



[myname@myhost ~]$ ifconfig
em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 101.102.103.75  netmask 255.255.255.128  broadcast 101.102.103.127
        ether 14:fe:bb:cc:aa:13  txqueuelen 1000  (Ethernet)
        RX packets 68105617  bytes 100671258415 (93.7 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2385151  bytes 227706193 (217.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

em2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 14:fe:bb:cc:aa:15  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        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
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 64  bytes 4834 (4.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 64  bytes 4834 (4.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[myname@myhost ~]$



 

그림에서 설정값을 한줄의 명령어로 IP주소와 subnet mask, broadcast 주소 변경할 있습니다.

명령어는 다음과 같습니다.

 

명령어 형식

]# ifconfig [NIC 장치명] [IP 주소] netmask [서브넷마스크 주소] broadcast [브로드캐스트주소] up

]# ifconfig eth0 101.102.103.75 netmask 255.255.255.128 broadcast 101.102.103.127 up

 

위의 예는 ifconfig 이용하여 eth0 라는 이더넷에 대해 IP 주소를 101.102.103.75, netmask 주소를 255.255.255.128, broadcast 주소를 101.102.103.127 설정하고 마지막으로 eth0 이더넷을 활성화하기 위해 up 이라는 추가 옵션명령어를 주어 실행한 것입니다.

 

하지만 한가지 명심해야 점이 있는데, 방법으로 IP 주소를 변경하면,

물리적으로 변경된 것이 아니라 시스템메모리 상에 로딩된 리눅스 커널이 사용하고 있는 랜카드 드라이브 네트워크 설정이 바뀐 것일 뿐입니다.

 

따라서, 시스템메모리의 내용은 휘발성으로 부팅을 하고나면 이러한 설정은 모두 사라지게 됩니다.

그러므로, 재부팅 후에도 변경된 값들이 지속되게 하려면 다음의 방법을 이용하여야 합니다.

 

 

 

2. 네트워크 설정 파일들을 이용하여 네트워크를 설정하는 방법

 

방법은 가장 기본적이면서도 가장 중요한 설명이므로 정확히 이해하여야 합니다.

네트워크 설정 파일에는 여러가지의 파일이 있습니다.

 

--------------------------------

1)      /etc/sysconfig/network

2)      /etc/resolv.conf

3)      /etc/sysconfig/network-scripts/ifcfg-eth0

4)      /etc/rc.d/init.d/network 

--------------------------------

 1)      /etc/sysconfig/network

 

리눅스시스템 HOSTNAME 변경하고, 네트워크를 활성화하는 설정파일입니다.
이 파일은 시스템이 부팅될 때에 자동으로 읽혀지는 파일이기 때문에 이 설정값을 적용하려면 서버를 REBOOT하거나 NETWORK RESTART 하여야 합니다.

아래 그림을 보면서 설명하도록 하겠습니다.


[myname@myhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=myserver
GATEWAY=101.102.103.1

NETWORKING=yes

 시스템이 네트워크를 활성화하여 사용하도록 하는 설정입니다.

no 라고 되어있을 경우 비활성화되고, yes 라고 되어있을 경우 활성화된다는 의미입니다.

 

NETWORKING_IPV6=no

 IPv6 기반의 통신 지원여부를 묻는 설정항목입니다.

yes 라면 지원, no 라면 지원하지 않는다는 의미입니다.

 

HOSTNAME=MYSERVER

 시스템의 호스트네임을 설정하는 항목입니다.

 

GATEWAY=101.102.103.1

  시스템의 Global 기본 게이트웨이 설정항목 입니다.

, 각각의 이더넷 설정파일에 별도로 지정되지 않은 기본 게이트웨이는 여기 파일에서 설정한 기본 게이트웨이로 지정된다는 의미입니다.

   (각 이더넷 설정파일에서 게이트웨이를 관리한다면 여기서 GATEWAY 설정은 없어도 됩니다)

   

2)      /etc/resolv.conf

 

파일은 시스템 호스트네임 설정과 기본 게이트웨이를 설정하기 위한 파일입니다.

아래 그림을 보면서 설명하도록 하겠습니다.


[myname@myhost ~]# cat /etc/resolv.conf
nameserver 164.124.101.2
nameserver 168.126.63.1
[myname@myhost ~]# 

     Kt DNS = kns.kornet.net ( 168.124.101.2 )
     Dacom DNS = ns.dacom.co.kr ( 164.124.101.2 )
     Hanaro DNS = ns.hananet.net ( 210.180.98.85 )

 

nameserver 지정된 IP 주소는 현재 시스템에서 사용할 1 DNS 서버와 2 DNS 서버의 IP 주소입니다.

결론적으로 시스템에서 사용할 1 또는 2 네임서버 IP 주소를 변경하고자 할때 파일을 열어서 원하는 네임서버의 IP 주소를 지정하면 됩니다.

 

3)      /etc/sysconfig/network-scripts/ifcfg-eth0

 

현재 시스템에서 사용하는 모든 이더넷 설정파일들이 /etc/sysconfig/network-scripts/ 디렉토리 내에 존재합니다.

현재 시스템의 IP 주소를 변경하고자 사용하는 설정파일 입니다.

아래 그림을 보면서 설명하도록 하겠습니다.


[myname@myhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=101.102.103.127
HWADDR=A4:BA:DB:55:BB:FF
IPADDR=101.102.103.75
NETMASK=255.255.255.128
NETWORK=101.102.103.0
ONBOOT=yes
[myname@myhost ~]# 


DEVICE=eth0

 

시스템에서 사용하는 네트워크 인터페이스 장치명이라 할수 있겠습니다.

외에도 네트워크 인터페이스 장치를 추가할 경우, eth1 보여지게 된다는 것을 아셔야 합니다.

 

BOOTPROTO=static

 

고정 IP 사용할 시에는 static 으로 설정하고 유동 IP 사용할 시에는 dhcp 설정합니다.

 

BROADCAST=101.102.103.127

 

동일 네트워크 내에서 전체 호스트에 보내는 브로드캐스트 IP주소를 지정하는 것으로, 위에서 보여지는 IP 주소는 101.102.103.75 입니다.

그러므로 브로드캐스트 주소는 101.102.103.127 되겠지요.

 

HWADDR=A4:BA:DB:55:BB:FF

 

해당 이더넷의 MAC 주소를 나타내는 항목입니다.

 

IPADDR=101.102.103.75

 

해당 이더넷의 IP 주소를 설정하는 항목입니다.

IP 주소를 변경할 시에는 부분을 변경하시면 되겠습니다.

 

NETMASK=255.255.255.128

 

해당 이더넷의 서브넷마스크 IP 주소를 설정하는 항목입니다.

 

NETWORK=101.102.103.0

 

해당 이더넷이 속한 네트워크 IP 주소를 뜻하는 항목입니다.

 

GATEWAY=101.102.103.1

 

기본 게이트웨이를 설정하는 항목입니다.

항목이 없거나 설정되어 있지 않다면, /etc/sysconfig/network 파일에서 지정된 기본 게이트웨이 주소로 설정이 됩니다.

 

ONBOOT=yes

 

시스템 부팅시에 해당 이더넷을 활성화 또는 비활성화 여부를 설정하는 항목입니다.

 

 

위의 여러 항목들 가운데 IP 주소만을 변경해야 한다면 IPADDR 항목에 IP 주소를 변경하면 되지만,

네트워크 주소까지 모두 변경을 해야한다면, 그에따른 BROADCAST, IPADDR, NETMAK, NETWORK 4가지 항목을 모두 변경해야 한다는 것을 숙지하시기 바랍니다.

 

 NM_CONTROLLED=yes
Will have your network interface be managed the NetworkManager daemon.

NM_CONTROLLED=no
Will have your network interface be managed the old way. It means fully configured by the /etc/sysconfig/network-scripts/ifcfg-ethX files.

I personnaly prefered the second option in servers, but the first one in desktop or laptop as it manages very well the wireless network interface.

 

UUID=  (UUID? --> 범용 고유 식별자 Universally Unique Identifier)

 NFS 에서 자동 마운트 설정할 때 이용한다고 한다.


$ ls -l /dev/disk/by-uuid/


위 명령어를 실행하면 다음과 같은 형식으로 출력이 됩니다.


합계 0
lrwxrwxrwx 1 root root 10 2008-04-25 23:10 3C986B2F986AE6BC -> ../../sdb1
lrwxrwxrwx 1 root root 10 2008-04-25 23:10 4E8C66928C66747D -> ../../sdb2
lrwxrwxrwx 1 root root 10 2008-04-25 23:10 6A3CFD903CFD5791 -> ../../sdc1
lrwxrwxrwx 1 root root 10 2008-04-25 23:10 7730c540-4605-4d87-88dc-760bb9a37ef5 -> ../../sda3
lrwxrwxrwx 1 root root 10 2008-04-25 23:10 CC24EA6124EA4E50 -> ../../sda1
lrwxrwxrwx 1 root root 10 2008-04-25 23:10 E8F85FF8F85FC38A -> ../../sdc2
lrwxrwxrwx 1 root root 10 2008-04-25 23:10 dc464f65-6885-46e8-a7a0-91960d71ab8c -> ../../sda4

 

 

 

4)  실행 :     /etc/rc.d/init.d/network

 

위에서 변경한 사항을 현재 시스템에 재부팅 하지않고 적용하기 위해 사용하는 스크립트 파일입니다.

, 간단히 정리하자면 현재 시스템의 IP 주소나 네트워크 설정을 변경하여 시스템에 적용하기 위해

/etc/rc.d/init.d/network 스크립트를 restart 한다 라는 것입니다.

 


5) 위의 IP 수동설정을 무시하고, DHCP로 IP를 받고 싶다면,

DHCP 클라이언트를 수동으로 설정하시려면 /etc/sysconfig/network-scripts 디렉토리에 존재하는 개별 네트워크 장치에 대한 네트워킹과 설정 파일을 활성화하도록/etc/sysconfig/network 파일을 수정하셔야 합니다. 이 디렉토리에 있는 각 장치는 ifcfg-eth0 (여기서 eth0는 네트워크 장치명을 의미) 설정 파일을 가지고 있습니다.

/etc/sysconfig/network 파일에는 다음과 같은 줄이 포함되어야 합니다:

NETWORKING=yes

이 파일에는 더 많은 정보가 포함되어 있지만, 부팅 시 네트워킹을 시작하기 위해서는 반드시 NETWORKING 변수를 yes로 설정하셔야 합니다.

/etc/sysconfig/network-scripts/ifcfg-eth0 파일에는 다음과 같은 라인이 포함되어야 합니다:

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

DHCP를 사용하도록 설정할 개별 장치마다 설정 파일이 필요합니다.


RESTART하기,

이제 변경된 설정사항을 다음과 같이 스크립트를 restart 하는 명령을 사용하여 재시작 해보도록 하겠습니다.

아래의 명령은 의미가 같다는 것을 숙지하셔야 합니다.

]# /etc/rc.d/init.d/network restart

]# service network restart

 

 

이제 다시 ifconfig 명령을 사용하여 IP 주소가 변경이 되었는지 확인을 해보세요.


* 참고 : 무선랜 http://xdsky.egloos.com/1220205



반응형
반응형

Net 명령어 LIST 사용법

net [accountscomputerconfigcontinuefilegrouphelphelpmsglocalgroupnamepauseprintsendsessionsharestartstatisticsstoptimeuseuserview ]

서비스

관련

net continue

net pause의해중단된서비스를실행한다.

NET START [서비스]

net pause

현재실행중인서비스를일시정지한다.


net start

서비스를개시한다.


net stop

실행중인서비스를정지한다.


도움말

관련

net help

도움말을이용할있는네트워크명령어를표시한다.


net helpmsg

에러가발생한원인과문제해결을위한정보를표시한다.


사용자계정

그룹관련

net accounts

사용자어카운트데이터베이스를갱신하여모든어카운트에대한패스워드로그온요건을수정한다.

NET ACCOUNTS

[/FORCELOGOFF:{ | NO}] [/MINPWLEN:길이]

            [/MAXPWAGE:{날짜수 | UNLIMITED}] [/MINPWAGE:날짜수]

            [/UNIQUEPW:] [/DOMAIN]

net localgroup

로컬그룹추가/수정/삭제/정보를표시한다.

NET LOCALGROUP

[그룹이름 [/COMMENT:"문자열"]] [/DOMAIN]

             그룹이름 {/ADD [/COMMENT:"문자열"] | /DELETE}  [/DOMAIN]

             그룹이름이름 [...] {/ADD | /DELETE} [/DOMAIN]

net group

도메인내의글로벌그룹을추가/수정/삭제/정보를표시한다.

도메인콘트롤러에서만사용가능

NET GROUP

[그룹이름 [/COMMENT:"문자열"]] [/DOMAIN]

         그룹이름 {/ADD [/COMMENT:"문자열"] | /DELETE}  [/DOMAIN]

         그룹이름사용자이름 [...] {/ADD | /DELETE} [/DOMAIN]

net user

사용자계정추가/수정/삭제/정보를표시한다.

NET USER

[사용자이름 [암호 | *] [옵션]] [/DOMAIN]

        사용자이름{암호 | *} /ADD [옵션] [/DOMAIN]

        사용자이름 [/DELETE] [/DOMAIN]


공유자원관련

net session

서버의접속을관리한다.

NET SESSION  [₩₩컴퓨터이름] [/DELETE]

net file

서버에서있는모든공유파일의이름과파일수를표시한다.

NET FILE [id [/CLOSE]]

net share

공유자원을관리한다.

NET SHARE 공유이름

         공유이름=드라이브:경로 [/USERS:번호 | /UNLIMITED]

                              [/REMARK:"문자열"]

                              [/CACHE:Manual | Documents| Programs | None ]

         공유이름 [/USERS:번호 | /UNLIMITED]

                   [/REMARK:"문자열"]

                   [/CACHE:Manual | Documents | Programs | None]

         {공유이름 | 장치이름 | 드라이브:경로} /DELETE

net share DataShare=c:Data /remark:"For department 123."

예제에서만든 DataShare 폴더공유를중지하려면다음과같이입력합니다.

net share DataShare /delete

net use

컴퓨터의공유자원에접속, 절단, 정보표시한다.(네트워크드라이브연결)

NET USE [장치이름| *] [₩₩컴퓨터이름₩공유이름[\볼륨] [암호| *]]

[/USER:[도메인이름\]사용자이름]

[/USER:[점있는도메인이름\]사용자이름]

[/USER:[사용자이름@점있는도메인이름]

[[/DELETE] | [/PERSISTENT:{YES | NO}]]

net use G: ₩₩misoXPwork

net use lpt1 ₩₩jeusHPLaserJ 00412 /user:esperso persistent:yes

net view

도메인, 컴퓨터, 공유되어있는자원을표시한다

NET VIEW [₩₩컴퓨터이름 [/CACHE] | /DOMAIN[:도메인이름]]

NET VIEW /NETWORK:NW [₩₩컴퓨터이름]

메시지

별명

컴이름

  net send

네트워크상이외의사용자, 컴퓨터, 메시지행선지명에메시지를송신한다.

NET SEND {이름 | * | /DOMAIN[:이름] | /USERS} 메시지

  net name

메시지행선지명(앨리어스(alias))추가또는삭제한다.

NET NAME [이름 [/ADD | /DELETE]]

  net computer

도메인데이터베이스에컴퓨터를추가또는삭제한다.

NET COMPUTER ₩₩컴퓨터이름 {/ADD | /DEL}

시간

  net time

컴퓨터시간을다른컴퓨터또는도메인시간과맞춘다.

NET TIME

[₩₩컴퓨터이름 | /DOMAIN[:도메인이름] | /RTSDOMAIN[:도메인이름]] [/SET]

        [₩₩컴퓨터이름] /QUERYSNTP

        [₩₩컴퓨터이름] /SETSNTP[:ntp 서버목록]

통계

  net statistics

로컬워크스테이션이나서버서비스의통계정보로그나동작중인서비스를표시한다.

NET STATISTICS [WORKSTATION | SERVER]

환경표시

  net config

실행중구성가능한서비스의설정에관한정보표시

NET CONFIG [SERVER | WORKSTATION]

인쇄

  net print

지정한인쇄에관한정보를표시한다.

NET PRINT ₩₩컴퓨터이름₩공유이름

           [₩₩컴퓨터이름] 작업번호 [/HOLD | /RELEASE | /DELETE]


반응형
반응형

유닉스/리눅스 명령어 레퍼런스


파일 명령어

ls - 디렉토리 목록보기
ls -al - 숨은 파일까지 정렬된 형태로 보기
cd dir - dir 디렉토리로 이동
cd - home 디렉토리로 이동
pwd - 현재 위치한 디렉토리 보여주기
mkdir dir - dir라는 디렉토리 만들기
rm file - file을 지우기
rm -r dir - dir 디렉토리를 지우기
rm -f file - 강제로 file 삭제
rm -rf dir - dir 디렉토리와 디렉토리 아래에 있는 모든 파일 삭제
cp file1 file2 - file1을 file2라는 이름으로 복사
cp -r dir1 dir2 - dir1 디렉토리에 있는 것들을 dir2 디렉토리로 복사; dir2가 존재하지 않는다면 만듬
mv file1 file2 - file1을 file2로 이름을 바꾸거나 옮김,
file2가 디렉토리로 존재한다면 file1을 file2 디렉토리로 옮김
ln -s file link - file로 연결된 link라는 심볼릭 링크를만듬
touch file - file을 생성하거나 업데이트
cat > file - 입력을 file로 저장
more file - file의 내용을 출력
head file - file의 첫 10줄을 출력
tail file - file의 마지막 10줄을 출력
tail -f file - file에 추가되는 내용을 출력,마지막10줄부터 출력함


프로세스 관리
ps - 현재 활성화된 프로세스 보여주기
top - 실행중인 모든 프로세스 보여주기
kill pid-프로세스id pid를 종료
killall proc - proc로 시작하는 모든 프로세스 종료
bg - 정지되있거나 화면에서 안보이게 실행중인 프로세스 보여주기; 정지된 프로세스를 화면에 출력하지 않고 계속 진행하기
fg - 화면에 보이지 않게 작동하던 작업 중 최근의 것을 화면에출력하면서 작동시키기
fg n - 화면에 보이지 않게 작동하던 작업 중 n 번째 작업을 화면에 출력하면서 작동시키기


파일 퍼미션
chmod 숫자 file - file의 퍼미션값을 숫자로 바꿈. 숫자는 3자리이며 첫 번째는 소유자,두 번째는 그룹,
세 번째는 익명의권한을 더해서 나타냄.
파일 퍼미션
chmod 숫자 file - file의 퍼미션값을 숫자로 바꿈. 숫자는 3자리이며 첫 번째는 소유자,두 번째는 그룹, 세 번째는 익명의
권한을 더해서 나타냄.

SSH
ssh user@host - user로 host에 접속
ssh -p 포트넘버 user@host - host의 지정한 포트넘버에
user로 접속
ssh-copy-id user@host-사용자명,암호를 입력하지 않고
로그인 할 수 있도록 ssh key를 복사


검색
grep pattern files - file안의 pattern을 찾기
grep -r pattern dir - dir 디렉토리 안에서 재귀적으로pattern 찾기
command | grep pattern - command 명령의 출력에서pattern을 찾는다
locate file - 파일을 찾음


시스템 정보보기
date - 현재 날짜와 시각을 출력
cal - 이번달 달력을 출력
uptime - 현재 기동시간을 출력

w - 온라인인 사용자를 출력
whoami - 어느 사용자로 로그인 하였는지 출력
finger user -user에 관한 정보 출력

uname -a - 커널 정보 출력
cat /proc/cpuinfo - cpu 정보 출력
cat /proc/meminfo - 메모리 정보 출력
cat /etc/*release - install된 linux release 정보 출력

man command - command에 대한 매뉴얼 출력
df - 디스크 사용량 출력
du - 디렉토리 사용량 출력
free - 메모리와 스왑 정보 출력
whereis app - app를 실행가능한 위치 출력
which app - app가 기본으로 실행되는 곳을 보여줌


압축
tar cf file.tar files - files들을 포함한 file.tar를 만듬
tar xf file.tar - file.tar을 압축해제
tar czf file.tar.gz files - Gzip 압축을 사용한 압축
tar zxf file.tar.gz - Gzip을 이용해 압축해제
tar cjf file.tar.bz2 - Bzip2 압축을 사용한 압축
tar xjf file.tar.bz2 - Bzip2 압축을 사용한 압축해제
gzip file - file을 압축해서 file.gz로 이름변경
gzip -d file.gz - file.gz를 fiel로 압축해제


네트워크
ping host - host에 핑을 보내 결과 출력
whois domain - domain에 대한 whois 정보 출력
dig domain - domain에 대한 DNS 정보를 출력
dig -x host - 호스트까지의 경로를 되찾아가기


설치
소스로부터 설치
./configure
make
make install
dpkg -i pkg.deb - 패키지 설치(Debian)
rpm -Uvh pkg.rpm - 패키지 설치(RPM)


단축키
Ctrl+C - 현재 명령의 실행을 강제로 마침
Ctrl+Z-현재 명령을 멈춤,fg를 이용해서 계속해서 화면에서 보
이도록 실행하거나 bg 를 이용해서 안보인채 계속 실행
Ctrl+D-현 세션에서 로그 아웃,exit와 비슷
Ctrl+W - 현재 라인에서 한 단어 삭제
Ctrl+U - 현재 줄 전체 삭제
Ctrl+R - 최근 입력한 명령어 보여주기
!! - 마지막 명령어 반복실행
exit - 현재 세션에서 로그 아웃

반응형

'블라베 IT world > Linux Document' 카테고리의 다른 글

centos: 네트워크 설정/변경 하는 4가지 방법  (0) 2013.04.16
Net 명령어 LIST 및사용법  (0) 2013.02.13
리눅스보안스터디 노트  (0) 2013.02.13
linuxconf 란  (0) 2013.02.13
리눅스 보안에 대하여  (0) 2013.02.13
반응형

리눅스보안스터디 노트

http://blog.naver.com/adventure83?Redirect=Log&logNo=41590995

반응형

'블라베 IT world > Linux Document' 카테고리의 다른 글

Net 명령어 LIST 및사용법  (0) 2013.02.13
유닉스/리눅스 명령어 레퍼런스  (0) 2013.02.13
linuxconf 란  (0) 2013.02.13
리눅스 보안에 대하여  (0) 2013.02.13
레드햇 리눅스 6.0 설치와 활용  (0) 2013.02.13

+ Recent posts