괴짜가 아닌 사람도 " TCP/IP " 에 대해 들어본 적이 있을 것입니다 . 하지만 모두가 이것이 무엇인지 또는 명령줄을 사용하여 (using the command line)Linux 서버 에서 구성하는 방법을 알고 있습니까?
기본 용어를 먼저 정의하는 데 도움이 됩니다. 최소한 이해를 구축할 수 있는 프레임워크를 개발할 수 있습니다. TCP/IP 도 예외는 아닙니다.
용어에 대한 이 섹션은 완전한 목록이 아닙니다. 네트워킹을 이해하고 Linux 에서 (Linux)TCP/IP 파일 을 구성하는 방법에 대한 여정을 시작하기 위한 기초를 제공합니다 .
The *Nix World
*nix 가 무엇을 의미하는지 궁금해 한 적이 있습니까? Unix와 Linux는(Unix and Linux are related) 어떻게 관련 되어 있습니까(각각의 다양한 버전은 고사하고)?
*nix 는 와일드카드(별표)를 사용하여 Linux 및/또는 Unix (또는 모든 배포판)를 참조하는 방법입니다 .
* Nix 는 1960년대 후반에 개발되었습니다. AT& T Bell Labs 는 거의 비슷한 시기에 Unix 를 개발 했습니다. 다양한 반복과 개발을 통해 Linux 도 탄생했습니다.
이러한 병렬 혁신의 결과는 명령줄을 통해 한 서버에 설치를 수행하는 방법을 배우면 다양한 Unix 또는 Linux 서버에서 다른 많은 작업과 호환될 수 있는 기술을 배운다는 것입니다.
매뉴얼 페이지 – 손끝에서 찾을 수 있는 정보(Man Pages – Information at Your Fingertips)
Google 과 마찬가지로 Linux 에는 사용자가 필요한 리소스를 찾을 수 있도록 하는 자체 검색 및 조사 도구 세트가 있습니다. 이러한 리소스를 "맨 페이지"라고 합니다. Linux 서버(또는 Linux 기반 운영 체제)에 로그인 하면 명령줄 응용 프로그램을 열고 대화형 문서 파일에 검색어를 입력하는 것과 같이 조사할 내용을 입력할 수 있습니다.
Linux 유틸리티, 도구, 데몬, 스크립트(daemon, script) 와 같이 조사하려는 주제를 선택하면 "man"을 입력한 다음 단어를 입력하여 찾을 수 있습니다. 이 문서의 뒷부분에서 이 작업을 수행하는 방법을 배웁니다.
매뉴얼 페이지는 사용하기 쉽습니다. 몇(Just) 단어를 입력하기 시작하면 Linux OS 가 정보를 반환하기 시작합니다. 특정 주제에 대한 매뉴얼 페이지가 없으면 Linux 에서 알려줄 것입니다.
대부분의 경우 매뉴얼 페이지는 해당 매뉴얼 페이지가 표시되는 소프트웨어 버전에 대해 상당히 정확합니다. 예를 들어, 10년 된 Linux 서버에 로그인한 경우 매뉴얼 페이지는 해당 버전(및 연령)과 관련된 정보를 표시합니다.(Linux)
매뉴얼 페이지는 사용하기 쉽고 정확하지만 몇 가지 주의 사항이 있습니다. 이미지를 통해 이러한 주의 사항을 설명하겠습니다.
아래 이미지에서 ARP에 대한 매뉴얼 페이지는 ARP 가(ARP) 더 이상 사용되지 않으며("참고" 섹션 아래) 대신 ip neigh 를 검색해야 함을 나타냅니다 . 그 표기법에 따르면 " man ip neigh "를 입력하여 교체 도구/프로토콜에 대한 정보에 액세스할 수 있습니다.
그러나 " man ip neigh "를 입력해도 "ip neigh"에 대한 매뉴얼 페이지는 조회되지 않습니다. 대신 두 개의 매뉴얼 페이지를 찾습니다. 하나는 "ip"이고 다른 하나는 "neigh"입니다.
"man ip neigh"를 입력하면 매뉴얼 페이지가 표시되는 것은 사실이지만 주의를 기울이지 않으면 실제로 찾고 있던 것이 아님을 놓칠 수 있습니다.
대시를 추가할 수 있습니다(대체 도구를 참조할 때 매뉴얼 페이지에 표시되지 않더라도)... 따라서 대시를 추가하고 "man ip-neigh"를 입력하면 제대로 작동하지만 올바르지 않습니다. 어느 하나.
" man ip-neighbour "(영국 철자 참고)를 입력해 보십시오. 특정 구문을 입력하면 ARP 매뉴얼 페이지를 대체하기 위한 올바른 매뉴얼 페이지가 표시됩니다(또는 ARP 프로토콜 대체). 결론은 다음과 같습니다. 필요한 것을 찾을 수 없으면 원하는 매뉴얼 페이지를 얻을 때까지 다른 조합을 사용해 보십시오.
예를 들어, nslookup 도구에 대한 매뉴얼 페이지를 찾아보십시오. "man nslookup"을 입력하면 됩니다. 그렇게 하면 아래 이미지/스크린샷과 유사한 매뉴얼 페이지가 표시됩니다. nslookup 도구에 대해 알고 싶은 모든 것을 배우게 됩니다.
맨 페이지가 화면에 나타나면 아래로 스크롤하고, 읽고, 적용하고, 테스트하고, 맨 페이지를 닫을 수도 있습니다(문자 "q"를 입력하고 맨 페이지를 자동으로 닫음).
존재하지 않는 매뉴얼 페이지를 요청하면 Linux 는 해당 매뉴얼 페이지에 대한 항목이 없다는 피드백을 제공하고 다른 페이지를 시도할 것입니다.
IPv4 및 IPv6(IPv4 and IPv6)
IPv4 와 IPv6 은 모두 기술적으로 동일하지만 우리 인간에게는 동일하게 보이지 않습니다. LAN (Local Area Network)에서 컴퓨터나 장치를 식별하는 수단입니다 . LAN 에서 장치를 식별하는 방식으로 비공개입니다 .
IPv4 는 점/마침표로 구분된 숫자를 사용합니다. 우리 대부분은 IPv4(IPv4) 형식 을 사용하여 사설 네트워크에 연결된 컴퓨터에서 볼 수 있는 IP 주소 유형에 익숙 합니다.
네트워크의 컴퓨터에도 IPv6 주소가 있지만 모양이 다릅니다. IPv6 은 콜론( : )으로 구분된 영숫자 문자로 구성됩니다.
그렇다면 IPv4(IPv4) 와 IPv6 의 차이점은 무엇 입니까? 네트워크 이름처럼 생각하십시오 . (Think)하나는 이름과 같고 다른 하나는 성입니다. 두 이름 모두 동일한 사람(또는 이 경우 컴퓨터)을 가리킵니다. 일반적으로 성에 비해 이름이 다른 것과 마찬가지로 IPv4 " 이름"은 IPv6 " 이름"과 둘 다 동일한 시스템을 가리키더라도 다릅니다.
Carla Schroeder 는 IPv4 및 IPv6에 대해 읽기 쉽고 유용한 기사(useful article about IPv4 and IPv6) 를 작성했습니다 .
Linux 서버(및 su 및 sudo)의 루트 액세스(Root Access on a Linux Server (and su and sudo))
완료해야 하는 많은 작업의 경우 루트 액세스(관리자 또는 수퍼유저라고도 함)가 필요합니다. 그 이유는 이러한 유틸리티와 앱 중 상당수가 보안상의 이유로 제한될 정도로 민감하기 때문입니다.
루트로 로그인하거나 수퍼유저 액세스(su)를 트리거하는 다른 솔루션은 Linux(Linux) 시스템에 특정 명령을 수퍼유저/루트로 실행해야 하지만 후속 명령은 실행하지 않는다는 "sudo"를 명령 앞에 추가하는 것입니다. 앞에 "sudo" 지시문이 추가됨).
명령 앞에 "sudo"가 사용되는 경우 Linux 는 수퍼유저 ID 및 권한을 인증하기 위해 su 암호를 요청합니다.
네트워킹 프로토콜(Networking Protocols)
Linux 에 대해 논의할 때 고려해야 할 다양한 프로토콜이 있습니다 . 이 기사의 기본 프로토콜은 TCP 와 IP입니다.
전송 제어 프로토콜(TCP)(Transmission Control Protocol (TCP))
(Transmission Control Protocol)TCP 라고도 하는 전송 제어 프로토콜 은 이름에서 알 수 있듯이 패킷 전송에 사용되는 프로토콜입니다.
트래픽 제어(Traffic Control) (tc) 라는 Linux 도구 를 포함하여 다양한 도구에 대한 설명은 아래를 참조하십시오 .
TCP 는 패킷이 한 위치에서 다른 위치로 이동하는 방법에 대해 Linux 운영 체제에 지시합니다 . 또한 네트워크 트래픽을 제어하고 정보 패킷(예 : 한 위치에서 다른 위치로 이동하는 데이터 폴더)의 전송을 지시합니다.(data)
이것이 프로토콜을 TCP( 전송 제어 프로토콜 )라고 하는 이유입니다.(Transmission Control Protocol)
인터넷 프로토콜(IP)(Internet Protocol (IP))
인터넷 프로토콜(Internet Protocol) 은 일반적으로 약어인 IP로 참조됩니다.
IP 의 경우 패킷을 전송할 수 있는 더 넓은 영역( 인터넷 )이 있습니다. (Internet)그것은 인터넷이라고 불리는 더 넓고 더 길고 더 많은 사람들이 여행하는 슈퍼 하이웨이를 갖는 것과 같습니다. TCP 는 네트워크에서 패킷의 이동을 제어하는 반면 IP는 인터넷에서 패킷의 이동을 제어합니다.
ICMP 프로토콜(ICMP Protocol)
ICMP 는 (ICMP)Internet Control Messaging Protocol 의 약자입니다 . 대부분의 Linux 배포판에서 사용할 수 있는 프로토콜이지만 일부 Linux (Linux)배포판(Linux) 에서는 사용할 수 없습니다 . 이것은 현재 Centos(Centos) 설치 에 매뉴얼(Man) 페이지 가 없다는 것이 입증되었습니다 .
언뜻 보기에는 이 특정 프로토콜이 그렇게 필수적인 것처럼 보이지 않을 수 있지만 실제로는 그렇습니다. ICMP 는 패킷이 목적지에 제대로 도달하지 못한 경우 오류 메시지를 제공하는 역할을 합니다. ICMP 는 전송되는 정보 패킷의 전달(또는 수신)에 대한 상태 업데이트를 수신하는 데 필수적입니다.
사용자 다이어그램 프로토콜(UDP)(User Diagram Protocol (UDP))
(User Diagram Protocol)UDP ( User Diagram Protocol )는 TCP ( Transmission Control Protocol )와 마찬가지로 한 지점에서 다른 지점으로 정보 패킷을 전송하기 위한 프로토콜입니다. TCP 의 경우 프로세스/전송의 일부로 패킷의 성공적인 전달에 대한 검증이 있어 UDP 보다 더 안정적 입니다.
UDP 의 경우 확인 프로세스가 없으므로 패킷이 오류 없이 성공적으로 전송 또는 수신되었는지 알 수 없습니다. 따라서 활용하기에는 충분히 쉬운 프로토콜이지만 검증할 수 없거나 인증할 수 없습니다.
리눅스 구성(Linux Configuration)
Linux 운영 체제 에서 사용할 수 있는 여러 구성 파일이 있습니다 .
예를 들어 Linux 시스템에서 Apache 서버를 실행하는 경우 Apache 구성 파일이 중요합니다. 이러한 파일을 통해 Apache 웹 서버는 도메인, 특히 해당 서버에서 호스팅되는 사이트에서 무슨 일이 일어나고 있는지 알 수 있습니다.
때때로 구성 파일에 httpd.conf라는 레이블이 지정됩니다. 때로는 apache.conf로 레이블이 지정됩니다. 또는 완전히 다른 레이블/이름일 수 있습니다. 한 서버의 한 위치에서 구성 파일을 찾을 수 있고 다른 서버의 완전히 다른 위치에 있는 경우도 있습니다.
다행히도 특정 구성 파일을 찾는 데 도움이 될 수 있는 유용한 명령이 있습니다. 예를 들어, " httpd.conf(httpd.conf) " 구성 파일이 있는 경우 다음을 입력하여 찾을 수 있습니다.
find / -name “httpd.conf”
첫 번째 단어인 "찾기"는 Linux 에 사용 중인 명령/유틸리티를 알려줍니다. 이 경우에는 "찾기" 유틸리티입니다. 명령줄의 두 번째 구성 요소는 "/"로 find 유틸리티가 서버의 루트 수준에서 시작하여 경로를 검색해야 함을 알립니다.
보다 구체적인 위치를 찾고 있다면 Linux 가 etc 디렉토리에서 시작하여 해당 경로를 따르도록 알려주는 "/etc"와 같은 항목이 있을 수 있습니다. 특정 경로/위치를 제공하면 Linux(Linux) 가 중복된 위치를 검색할 필요가 없기 때문에 잠재적으로 프로세스 속도를 높일 수 있습니다 .
" -name " 옵션을 사용하면 Linux 가 파일 또는 디렉토리 이름에서 찾고 있는 내용을 알 수 있습니다. 이름을 따옴표로 묶는 것이 도움이 되며 검색할 때 별표( * )를 와일드카드로 사용할 수도 있습니다.
"/etc" 디렉토리/경로에 있는 구성 파일 및 디렉토리의 몇 가지 예는 다음과 같습니다.
- pam.d – 인증 모듈과 관련된 유틸리티가 포함된 디렉토리입니다. 예를 들어 "Su"와 "sudo"가 있습니다.
- sysconfig – 전원 관리, 마우스 등과 같은 컴퓨터 기능을 포함하는 디렉토리입니다.
- resolv.conf – Linux 시스템이 해당 용량으로 사용되는 경우 도메인 이름 서버의 기능을 지원하는 파일입니다 .
- services – 이 파일에는 (services)Linux 시스템 에서 사용 가능한 연결(예: 열린 포트)이 포함되어 있습니다 .
파일, 경로 또는 유틸리티가 더 이상 사용되지 않거나 더 이상 사용되지 않는지 궁금하면 매뉴얼 페이지를 사용하여 확인하십시오. 이것은 현재의 내용과 변경된 사항에 대한 탭을 유지하는 데 도움이 되는 방법입니다.
Linux 파일 시스템 이해(Understanding the Linux File System)
많은 Linux 배포판(Linux distributions) 에서 구성 파일은 " etc/sysconfig " 경로 아래의 network-scripts 디렉토리에 있습니다. 그들이 거기에 있지 않다면 비슷한 위치/경로가 있을 가능성이 높습니다. 이 특별한 경우에 존재하는 파일은 아래 스크린샷에 나와 있습니다.
아래 스크린샷에서 볼 수 있듯이 두 개의 구성 파일이 있습니다. 각각의 인터페이스에 따라 레이블이 지정됩니다(예: ifcfg-eth0).
구성 파일 앞에는 ifconfig 명령(ifconfig command) 을 대체하는 " ifcfg " 가 있습니다(인터페이스 파일 이름의 일부가 됨). 즉, ifcfg가 IPv6(IPv6) 과 호환되지 않기 때문에 이제는 어느 정도 교체되었습니다 .
두 개의 인터페이스 참조( ifcfg-eth0 및 ifcfg-lo )는 특정 유형의 인터페이스를 참조합니다. Linux 개발자는 이 영역에서 파일 이름의 형태로 정의와 방향을 제공하여 도움이 되었습니다. " eth0 "으로 끝나는 인터페이스의 경우 "이더넷"을 통해 연결되거나 이더넷 기능이 있는 인터페이스입니다.
문자 " eth "를 사용하면 올바른 방향을 알려줍니다. "eth" 뒤에 오는 숫자는 장치의 번호를 제공합니다. 따라서 다음 이더넷 장치는 " ifcfg-eth1(ifcfg-eth1) " 등과 같은 것일 수 있습니다 .
"lo"로 끝나는 파일 이름은 "loopback" 인터페이스를 나타냅니다. " localhost "라고도 합니다 . 이것은 기술적으로 실제 네트워크 연결이 아닌 네트워크 연결입니다. 단순히 프로세스가 네트워크를 통해 통신하지 않고도 장치에서 통신할 수 있도록 합니다. 이 특정 인터페이스에 대해 생각할 때 "가상"을 생각하십시오.
모든 Linux 배포판은 루프백(또는 localhost)을 가질 수 있으며 일반적으로 기본적으로 설정됩니다. "-lo"로 끝나는 인터페이스를 사용합니다. localhost의 IP 주소는 일반적으로 127.0.0.1입니다. 많은 경우 루프백 가상 인터페이스를 사용하여 연결을 테스트하고 다른 잠재적인 네트워크 문제를 배제할 수 있습니다.
파일(The Files)
구성 파일을 편집하고 볼 수 있는 다양한 방법이 있습니다. 한 가지 방법은 " vi " 다음에 파일 이름 을 사용하여 액세스 하는 " vi 편집기 "를 사용하는 것입니다. (vi editor)이 경우 " vi ifcfg-eth0 "(인용 부호 제외)을 입력하면 특정 인터페이스(eth0)에 대한 네트워크 정보를 볼 수 있습니다.
그러나 전통적인 방식으로 수행하고 ifcfg에 대한 매뉴얼 페이지에 있는 네트워크 구성 지침을 따르는 것이 더 좋습니다.
이것은 비기술자에게도 더 쉬울 수 있습니다. vi 편집기를 사용하려면 세부 사항에 약간의 주의가 필요하므로 세부 사항을 중시하는(또는 이미 프로그래머 또는 시스템 관리자인 경우) vi 편집기는 Linux 구성 파일로 작업할 때 최적의 솔루션이 될 수 있습니다.
맨 페이지에 액세스할 때 ifconfig 스크립트를 대체한 ifcfg 스크립트에 대한 정보를 검토할 수 있습니다(맨 페이지의 위 스크린샷 참조). 또한 Linux(Linux) 배포판 의 인터페이스 목록을 보면 ifup 및 ifdown 명령이 있습니다. 그것들도 man 페이지에서 검토할 수 있습니다.
맨 페이지의 스크린샷은 아래 이미지에 나와 있습니다. 매뉴얼 페이지에서 볼 수 있듯이 Linux에서 TCP/IP 파일의 설정 및 구성에서 참조(및 수정)할 수 있는 추가 Linux TCP/IP 파일 ((Linux) 및 해당 파일에 대한 경로)이 있습니다 .
vi 편집기와 같은 명령줄 텍스트 편집기를 사용하여 구성 파일을 보면 몇 가지 옵션이 정의되어 있음을 알 수 있습니다. 예를 들어, 네트워크 인터페이스를 보면 단어가 모두 대문자로 표시되고 그 뒤에 등호(=)가 오고 그 다음에는 다른 단어가 표시될 수 있습니다.
예를 들어 " ONBOOT "인 지시문이 있을 수 있으며 구성(ONBOOT) 옵션의 예로 "ONBOOT=yes"라고 표시될 수 있습니다. 몇 가지 다른 구성 지점과 옵션도 있습니다. 예를 들어, 다른 하나는 NETMASK 입니다.
구성 지시문 " NETWORKING "이 표시되면 "예"가 뒤에 와야 합니다. 뒤에 "아니오"가 오는 경우 네트워크 인터페이스가 네트워킹에 대해 활성화되지 않았음을 나타내므로 문제를 나타낼 수 있습니다.
다음은 방금 설명한 상황을 수정하는 단계별 프로세스입니다.
- 안전을 위해 구성 파일의 복사본을 만드십시오. 이를 수행하는 몇 가지 방법이 있습니다. 가장 쉬운 방법 중 하나는 명령 창을 사용하는 것입니다.
다음을 입력 합니다. cp ifcfg-eth0 ifcfg-eth0_20200101
그런 다음 다음 줄에 다음을 입력합니다. mv ifcfg-eth0_20200101 /home/mydirectory/ifcfg-eth0_20200101
이렇게 하면 방금 만든 파일 복사본이 백업에 사용 중인 디렉터리로 이동합니다.
- 구성 파일을 백업했으므로 이제 해당 구성 파일을 변경할 차례입니다. vi 편집기를 사용하는 경우 다음을 입력합니다.
vi ifcfg-eth0
이렇게 하면 터미널/명령 응용 프로그램에서 파일이 열립니다(트리거할 때 매뉴얼 페이지가 열리는 방식과 유사).
구성 파일이 열리면 " NETWORKING=no "가 포함된 행을 찾아 해당 행을 삭제하거나 "NETWORKING=yes"로 변경합니다. 이것은 " cw" vi 편집기의 지시문. 슬래시를 입력하면 vi 편집기에 검색 중임을 알리는 것입니다. 이 경우 편집자에게 "NETWORKING"을 검색하고 있음을 알리고 검색되면(마우스를 해당 위치로 이동) 오른쪽 화살표 키를 사용하여 "no"라는 단어로 이동할 수 있습니다.
"no"라는 단어가 나오면 "n"에서 멈추고 " cw "를 입력하여 "no"를 "yes"로 변경할 수 있습니다. "cw"는 단어 변경을 의미하며 Linux 에서는 전체 단어를 한 단어("no")에서 다른 단어("yes")로 변경할 수 있습니다. 하나의 문자만 변경하려면 "r"을 사용하여 하나의 문자 또는 문자를 바꿀 수 있습니다.
스크린샷은 아래에서 이 프로세스를 보여줍니다.
- 구성 파일을 저장한 후(즉, INSERT(INSERT) 모드 에서 나오려면 esc를 입력 하고 파일을 저장하려면 두 번 Z를 입력) 서비스나 컴퓨터를 다시 시작할 때입니다. 이것은 여러 가지 방법으로 수행할 수 있습니다. 컴퓨터를 재부팅하는 한 가지 방법은 다음 명령줄을 입력하는 것입니다.
shutdown -r now
shutdown 명령은 Linux 시스템을 종료하도록 지시합니다. -r 옵션은 명령에 종료가 아니라 재부팅하고 지금 수행하도록 지시합니다.
팁:(Tip:) 컴퓨터나 서버가 재부팅을 완료한 시점을 알고 싶다면 "ping"을 입력한 다음 컴퓨터/서버의 공용 IP 주소(또는 Linux 서버에서 호스팅되는 사이트의 도메인 이름)를 입력합니다.
ping 명령을 사용하면 서버가 "ping 가능"(재부팅 중에 발생)할 수 없다는 것을 알 수 있으며 서버가 성공적으로 다시 시작되면 ping은 성공적인 재부팅을 나타내는 긍정적인 응답으로 응답합니다.
다음은 위 목록의 단계를 설명하는 데 도움이 되는 몇 가지 이미지입니다.
1 단계:
2 단계:
팁:(Tip:) 서버 세계에서 유일한 것은 없다는 것을 명심하십시오. 예를 들어, 특정 인터페이스(이 경우 eth0)에 대한 구성을 변경할 수 있지만 이는 네트워크의 하나의 인터페이스일 수 있으며 다른 서버의 영향을 받을 수 있습니다.
따라서 위의 예에서 서버를 다시 시작하면 네트워크 장치도 다시 시작됩니다. 이것은 이 인터페이스에 대한 단일 옵션이 아니지만 이 인터페이스는 다시 시작하라는 명령의 영향을 받습니다.
/etc/hosts File(s)
/etc/hosts 파일 은 존재하거나 존재하지 않을 수 있습니다. 존재하는 경우 구성에 사용되거나 사용되지 않을 수 있습니다. 예를 들어, 파일을 직접 관리하는 대신 호스트 구성을 처리하는 다른 시스템이 있을 수 있습니다. 또한 호스트 파일 자체도 다릅니다. 예를 들어 IPv4 와 IPv6 은 아래 이미지에서 볼 수 있듯이 구성을 다르게 처리합니다.
Configuration Files; Locations/Paths; Terms; and More
추가로 유용한 파일 이름 및 파일 위치는 다음과 같습니다.
- /etc/sysconfig/network-scripts/(구성 파일 경로)
- /etc/sysconfig/network-scripts/ifcfg-eth0(구성 파일)
- /etc/hosts(구성 파일)
- /etc/resolv.conf(네임서버 정보가 있는 설정 파일)
대부분의 경우 시스템 또는 서버 소프트웨어는 구성 파일을 자동으로 생성합니다. 또한 DHCP 를 사용하는 경우 고정 IP 주소가 사용되지 않기 때문에 즉석에서 계산되는 네트워킹 구성의 다른 측면이 있습니다.
다음 명령줄(CL) 명령은 대부분의 Linux 배포판에서 사용되었습니다. 더 이상 사용되지 않거나 더 이상 사용되지 않는 경우 대체 명령이 나열됩니다.
- route ( obsolete / deprecated ): 경로를 표시하고 편집하는 데 사용되었습니다. ip route 로 대체되었습니다 .
- hostname : 시스템의 호스트 이름을 표시하거나 조작하고 편집하는 데 사용됩니다.
- netstat : 네트워크 연결, 라우팅 테이블, 인터페이스 통계, 멀티캐스트 멤버십 등을 봅니다.
- arp : ( obsolete / deprecatedIPv4 정보 를 표시하는 데 사용됩니다 . 특히 네트워크 이웃 캐시. IPv6 은 마침표로 구분된 4개의 숫자로 구성된 (IPv6)IPv4 모음을 대체하여 네트워크 주소가 되었습니다 . 이러한 변경 사항에 비추어 이 사용되지 않는 명령은 ip neigh 로 대체되었습니다 .
- ip : IP는 "인터넷 프로토콜" 및 궁극의 WAN (광역 네트워크)을 의미할 뿐만 아니라 시스템 관리자 또는 컴퓨터 사용자가 TCP/IP 매개변수를 보고 다음과 같이 설정할 수 있도록 하는 유틸리티이기도 합니다. 필요.
- tc : 이것은 "트래픽 제어"를 나타내며 Linux 시스템에서 인바운드 및 아웃바운드 트래픽을 관리하는 데 도움이 되는 유틸리티입니다.
구성 도구: GUI 대 명령줄(CL)(Configuration Tools: GUI Vs. Command Line (CL))
참조 지점을 제공하기 위해 다음 세 이미지는 TCP/IP 를 포함하여 네트워킹 구성을 처리하는 GUI (그래픽 사용자 인터페이스) 메커니즘을 표시합니다 .
첫 번째 이미지는 Apple Mac GUI ( System Preferences > Networking )이고 두 번째 두 이미지는 Windows 운영 체제(Windows Operating System) 의 이미지입니다 (버전마다 다름). 스크린샷에서 볼 수 있듯이 Microsoft 제어판(Microsoft Control Panel) 및 네트워크 연결(Network Connections) 을 통해 액세스 할 수 있습니다.
GUI 대 텍스트 편집기 또는 명령줄(CL)의 장단점(Pros and Cons of GUI Versus Text Editor or Command Line (CL))
많은 사람들 이 사용 용이성, 시각적 표현 및 전반적인 단순성 때문에 그래픽 사용자 인터페이스( GUI )를 선호하지만 구성 파일(이 경우 네트워킹과 관련된)을 이해하면 문제를 해결하고 수정할 수 있습니다.(GUI)
GUI 를 먼저 파악하고 싶을 수도 있지만 만일을 대비하여 충분한 정보를 얻는 데 도움이 됩니다. 또한 GUI 가 반드시 필요하지 않은 (또는 아직 없는) 일부 운영 체제가 있으므로 다시 한 번; 준비하는 것이 도움이 됩니다.
다음 섹션에서는 구성 파일, 액세스 방법, 업데이트 방법, 파일 및 유틸리티 관리 방법에 대해 설명합니다.
Linux 명령줄(CL) 도구, 유틸리티, 스크립트 및 데몬(Linux Command-Line (CL) Tools, Utilities, Scripts, and Daemons)
Linux 배포판 에 사용할 수 있는 도구가 많이 있습니다 . 다시 말하지만(Again) , 다른 명령과 마찬가지로 이러한 도구가 다른 배포판에서 사용되는 방식 간에는 유사점(및 차이점)이 있습니다. 어떤 경우에는 도구를 사용할 수 있지만 먼저 설치해야 하고 설치 프로세스가 종종 다릅니다.
명령줄 도구는 종종 셸로(shell) 참조되며 초기에는 터미널(terminal) . 다른 용어가 있지만 일반적으로 사용자가 창에 명령을 입력하여 운영 체제에 액세스할 수 있도록 하는 응용 프로그램입니다.
몇 가지 예를 살펴보겠습니다. 첫 번째는 Windows 운영 체제의 것으로 Windows 사용자에게 친숙해 보입니다. 도구는 CMD 를 입력하여 열립니다 (아래 스크린샷 참조).
두 번째 스크린샷은 대부분의 Apple 컴퓨터 에 사전 설치된 터미널 이라는 응용 프로그램의 스크린샷입니다.(Terminal)
NSLookup(nslookup)
nslookup 의 경우 ns 는 이름 서버(nameserver) 를 나타내며 명령 의 조회(lookup) 부분은 정보의 "조회"입니다. 따라서 이 도구의 이름은 이름 서버를 통해 일반적으로 사용할 수 있는 정보를 조회한다는 의미입니다.
NSLookup 은 편리한 도구입니다. 이 경우 eBay에 대한 정보를 조회하는 데 사용합니다. 그렇게 하기 위해 "nslookup ebay.com"을 입력하면 아래 이미지에 표시된 것과 유사한 정보가 표시됩니다.
명령은 스크린샷 상단에 표시됩니다(개인 정보를 흐리게 처리한 후). 그런 다음 해당 요청( nslookup )의 출력이 그 아래에 서버(Server) (공용 IP 주소), 특정 IP 주소(IP address) 등과 같은 정보와 함께 표시됩니다 .
교통 통제(tc)(Traffic Control (tc))
또 다른 도구는 "교통 통제" 도구("tc"라고도 함)입니다. 데이터 패킷의 스케줄링 및 처리를 허용하는 도구입니다.
이 명령은 패킷이 네트워크를 통해 이동 하는 방법 을 알려줍니다. (how)측면에는 타이밍, 속도, 장치 등과 같은 질문에 대한 답변이 포함 됩니다(how) . 다음은 트래픽 제어(Traffic Control) (tc) 사용에 대한 명령줄(CL) 표현입니다.
누군가에게는 "횡설수설"처럼 보일 수 있지만 명령줄의 각 단어는 중요한 것을 나타냅니다. 목록은 다음과 같습니다.
- tc : 이 도구는 "Traffic Control"(일명 "tc")입니다. 이것은 사용할 Linux(Linux) 도구를 명령줄 응용 프로그램/소프트웨어에 알려줍니다 .
- qdisc : 이 약어는 대기열 규칙(queuing discipline) 을 나타내며 간단한 스케줄러를 설명하는 또 다른 방법입니다.
- add : 구성(예, 기술적으로 파일)을 구축 중이므로 컨트롤 에 추가 하고 있음을 도구에 알립니다.(adding)
- dev eth0 : “dev”는 “디바이스”를 가리키며, 우리가 디바이스를 정의하려고 한다는 것을 도구에 알립니다. 이 경우 "eth0"은 장치에 대한 참조입니다. 이것은 장치 레이블 에 대한 그래픽 사용자 인터페이스( GUI )에 나타나는 것과 유사하다는 것을 알 수 있습니다.
- root : 루트 수준 또는 이그레스에서 아웃바운드 트래픽을 수정하고 있음을 도구에 알립니다.
- netem : 이 단어는 "네트워크 에뮬레이터"라는 문구를 나타냅니다. 하드웨어 네트워크가 아닐 수도 있지만 동일한 에뮬레이션입니다. 이는 Parallels 소프트웨어가 (Parallels)Apple 컴퓨터 용 Windows 소프트웨어를 에뮬레이트하는 방식과 유사합니다. 물론 완전히 다른 소프트웨어이지만 netem이 네트워크를 에뮬레이트하는 것과 같은 방식으로 에뮬레이션 소프트웨어입니다. 이 경우 netem은 LAN (로컬 영역 네트워크)이 아닌 WAN (광역 네트워크)을 나타냅니다.
- delay : 이 단어는 tc 도구에 트랜잭션의 "지연" 구성 요소를 수정하고 있음을 알려줍니다.
- 400ms : 우리는 이미 우리가 지연에 영향을 미치고 있다고 도구에 말했지만 이제 우리는 지연에 영향을 미치는 정도를 정의해야 합니다. 이 경우 400밀리초 단위입니다.
네트워크 관리자(Network Manager)
Network Manager 의 목적은 네트워크 구성을 단순화하고 자동화하는 것입니다. DHCP 사용자의 경우 네트워크 관리자(Network Manager) 는 IP 주소를 얻고 기본 경로를 대체하며 이름 서버를 자동으로 교체할 수 있습니다.
Network Manager(Manager) 를 사용하기 위한 nmtui 도구는 전부는 아니지만 대부분의 Linux 배포판에서 사용할 수 있습니다. 또한 일부 도구는 "사용 가능"하지만 아직 사용할 수 없습니다. 다시 말해, 설치해야 하는 일부 도구와 데몬이 있으며 해당 Linux(Linux) 배포판에 사전 설치될 필요는 없습니다 .
기타 네트워킹 주제(Other Networking Topics)
특히 Linux(Linux) 배포판 을 다룰 때 특히 매력적인 네트워킹 및 TCP/IP 측면이 많이 있습니다 . Linux(Don) 설치 에서 바로 사용할 수 있는 매뉴얼 페이지(맨 페이지라고도 함)가 있다는 것을 잊지 마십시오 . (Linux)따라서 이것은 하지 말아야 할 일에 대한 일종의 관련 없는 목록으로 보일 수 있지만 항상 매뉴얼 페이지를 사용하여 해야 할 일을 파악할 수 있습니다.
라우터로서의 리눅스(Linux as the Router)
오늘날 대부분의 사람들 은 네트워크 경로 작업(manage the network route task) 을 관리하기 위해 라우팅 작업(예: 라우터) 전용 하드웨어를 사용 합니다 .
많은 경우 라우터가 가정 또는 사무실 인터넷 패키지/계약 패키지 거래의 일부이기 때문입니다. 고객은 일반적으로 월(또는 연간) 렌탈/리스 요금을 지불하거나 라우터를 구매해야 하는 경우가 있습니다.
그러나 처리되지만 Linux(Linux) 가 라우터로 작동할 수 있음에도 불구하고 라우터로 작동할 필요는 거의 없습니다 . 위에서 설명한 시나리오는 Linux에 대해 거의 유사 사용 중단 상황을 생성 하지만 이것이 (Linux)Linux 가 완전히 게임에서 제외 된다는 의미는 아닙니다 . 필요한 경우 Linux(Linux) 서버를 하드웨어(및 후속 소프트웨어) 라우터로 설정할 수 있습니다.
IP 경로(이전 "경로")(IP Route (Formerly “Route”))
다음 이미지는 "Route" 매뉴얼 페이지의 스크린샷과 해당 도구로 가능한 지시문을 보여줍니다.
SNORT – 침입자 탐지 시스템(SNORT – An Intruder Detection System)
Snort Software 는 원래 Martin Roesch가 개발하고 이후 Cisco Systems에 인수된(Martin Roesch and since acquired by Cisco Systems) 오픈 소스 IDS ( 침입 탐지 시스템(Intrusion Detection System) ) 입니다. TCP/IP 계층 을 활용하는 규칙을 기반으로 작동합니다 . 이러한 규칙을 정의하면 네트워크를 보호하기 위해 침입을 식별합니다.
How to Set Up Linux > TCP/IP Settings for Linux
다음 미니 자습서는 Linux(Linux) 세계 에서 접할 수 있는 몇 가지 일반적인 작업에 도움이 될 것 입니다.
시간은 빠르게 변하므로 매뉴얼 페이지와 Google 검색 을 사용하여 다음 단계를 확인하고 작업을 더 잘 수행할 수 있는 다른 도구가 없는지 확인하는 것이 좋습니다. 이 글을 쓰고 있는 현재로서는 그렇지 않습니다.
튜토리얼 01: Linux 머신에 고정 IP 주소 할당(Tutorial 01: Assigning a Static IP Address to a Linux Machine)
첫 번째 질문은 컴퓨터/서버에 고정 IP 주소(변경되지 않는 주소) 또는 변경 가능한 IP 주소(예: DHCP – 동적 호스트 구성 프로토콜(DHCP – Dynamic Host Configuration Protocol) )가 필요한지 여부입니다. 이것이 개인용 컴퓨터(서버가 아님)인 경우 인터넷에 액세스하기 위해 DHCP 를 사용할 가능성이 있습니다.(DHCP)
이것이 의미하는 바는 컴퓨터에 고정 IP 주소를 할당하는 데 어려움을 겪을 필요가 없다는 것입니다. 귀하의 인터넷 서비스 제공자( ISP ) 및 제공/임대된 모든 하드웨어는 귀하가 인터넷에 연결할 수 있도록 즉석에서 IP 주소를 자동으로 계산합니다. 즉, 고정 IP 주소가 필요하지 않은 경우 동적으로 변경되는 주소는 서버가 아닌 컴퓨터에 적합합니다.
서버가 있고 다른 사람이 액세스할 수 있어야 하는 경우(예: 집 외부, WAN/internet , 비LAN) 사용 중인 도메인 중 하나가 서버에 매핑되도록 고정 IP 주소가 필요합니다. 도메인에 할당된 호스팅 네임서버를 통해 또는 고정 IP 주소를 통해 직접 액세스할 수 있습니다.
아무도 집 밖에서 컴퓨터나 서버에 액세스할 필요가 없는 경우 고정 IP 주소를 사용하는 사람이 없기 때문에 IP 주소 변경(동적, 비정적)이면 충분합니다.
참고: 일부 사람들은 공개 액세스를 위해 DHCP IP 주소를 사용했지만(예, 서버로도 사용 가능)
- 그렇게 하려면 매우 기술적인 생각을 가진 사람이 필요하므로 일반적이지 않습니다.
- 고정 IP 주소보다 유지 관리가 훨씬 더 어렵습니다(끊임없이 변화하는 특성 때문에).
고정 IP 주소가 필요한 경우 여기에서 단계를 따르세요. 그렇지 않은 경우 이 섹션을 건너뛸 수 있습니다.
보시다시피 명령(위에 표시됨)은 줄 시작 부분에 "sudo"를 포함합니다. "su" 명령(수퍼유저)을 사용하고 수퍼유저로 로그인하는 것이 가능하지만 "sudo"를 사용하면 해당 명령 하나만 수퍼유저로 실행됩니다.
수퍼유저로 로그인하는 다른 방법은 수퍼유저로 모든 작업을 완료할 수 있어 수행해야 하는 작업을 보다 편리하게 수행할 수 있습니다.
그러나 그와 함께 보안 위험이 따르므로 단순히 sudo로 명령을 시작하고 앱이 해당 작업/명령에 대한 수퍼유저로 명령을 완료하기 위해 필요한 경우 암호를 요청하도록 허용하는 것이 더 안전합니다.
선택은 여러분의 몫이며 더 쉬운 방법을 기반으로 해야 합니다. 아래 스크린샷에 표시된 파일은 다음 명령을 통해 액세스할 수 있습니다.
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
해당 명령을 사용하기 전에 네트워크 장치 번호가 올바른지 확인하기 위해( eth0 ) 확인됩니다. 기억하시겠지만 Linux 구성은 인터페이스 파일 내에서 관리되므로 구성 파일을 편집하기 전에 해당 파일에서 인터페이스 번호를 확인하는 것이 중요합니다.
주의해야 할 구성 파일의 또 다른 측면은 "정적"이라는 단어의 사용입니다. 고정 IP 주소를 추가하기 때문에 구성 파일에 이 사실을 알리는 것이 중요합니다.
참고 사항은 설명을 위해 아래 스크린샷에 추가되었지만 구성 파일에 포함되어서는 안 됩니다. 또한 일부 Linux 배포판에서는 따옴표가 필요합니다. 이 특정 구성 파일에서는 자동 생성 구성 파일에 따옴표가 없으므로 추세가 계속되고 따옴표가 추가되지 않았습니다.
다음 스크린샷은 메모와 추가 공백이 제거된 상태에서 파일이 실제로 어떻게 표시되는지 보여줍니다.
편집할 다음(최종) 구성 파일은 다음을 입력하여 액세스합니다.
sudo vi /etc/resolv.conf
해당 파일 내에서 네임서버를 추가(또는 수정)할 수 있습니다. 이러한 네임서버는 방금 수정된 다른 구성 파일과 일치해야 합니다. 이 경우 /etc/sysconfig/network-scripts/ifcfg-eth0 (위의 스크린샷)에 있습니다.
사용될 용어는 "nameserver"입니다. 따라서 장치 구성 파일이 DNS1=8.8.8.8 을 표시하는 경우 resolv.conf 파일은 nameserver 8.8.8.8 을 표시해야 합니다 .
DNS2=4.4.4.4 에 해당 하는 항목 은 resolv.conf 파일에 네임서버 4.4.4.4(nameserver 4.4.4.4 ) 로 표시됩니다 .
간단히 말해서 위의 단계는 Red Hat Linux 배포판에서 작동하지만 기술 변경이 발생하는 미래에 작동할 것이라는 보장은 없습니다. 이것이 구성을 테스트하고 확인해야 하는 이유입니다.
구성이 완료되면 위에서 설명한 대로 선호하는 방법으로 네트워크 인터페이스를 다시 시작합니다. 이렇게 하면 변경 사항이 적용됩니다. 고정 IP 주소를 테스트하는 경우에도 유용합니다. 다른 장치(가능한 다른 네트워크)에서 해당 공용 고정 IP 주소에 연결을 시도하여 이를 수행할 수 있습니다.
또한 친구나 동료에게 전화를 걸어 다른 지리적 위치(및 다른 네트워크)에서 고정 IP 주소에 대한 연결을 시도하도록 할 수도 있습니다.
튜토리얼 02: 네트워크 IP 앨리어싱(Tutorial 02: Network IP Aliasing)
하나의 네트워크 인터페이스 카드( NIC(NIC) ) 에 둘 이상의 IP 주소를 할당할 수 있습니다 . 하나의 IP만 실제 IP이므로 추가 IP 주소는 동일한 카드에 대한 별칭이기 때문에 이를 네트워크 IP 별칭 이라고 합니다. (Network IP Aliasing)IP 주소를 할당하려면 Tutorial 01에서 설명한 대로 선호하는 IP 주소 할당 방법을 사용하십시오.
정적이어야 하는 것은 아니지만 Network IP Aliasing 을 사용하여 여러 IP 주소를 할당하려면 고정 IP를 사용하여 IP 주소를 할당해야 합니다.
튜토리얼 03: Linux 머신의 호스트 이름 변경(Tutorial 03: Change Host Name of the Linux Machine)
선호하는 편집기를 사용하여 Linux 시스템 의 호스트 이름을 변경하려면 다음 단계를 따르십시오 .
1. 명령줄 앱에 다음을 입력하여 호스트 이름 구성 파일을 수정합니다.
sudo vi /etc/hostname
해당 구성 파일에서 이전 호스트 이름을 볼 때마다 새 호스트 이름으로 바꾸십시오.
2. 명령줄 앱에 다음을 입력하여 호스트 구성 파일을 수정합니다.
sudo vi /etc/hosts
해당 파일에서 이전 호스트 이름을 볼 때마다 위의 1단계에서 호스트 이름(hostname) 구성 파일로 수행한 것과 동일한 방식으로 새로 선택/지정된 호스트 이름으로 교체하십시오 .
3. 서버 또는 Linux 컴퓨터를 다시 시작합니다. 이를 수행하는 한 가지 방법( Linux(Linux) 배포판 에 따라 다름 )은 명령줄 앱에 다음을 입력하는 것입니다.
sudo shutdown –r now
변경 사항을 적용하려면 다시 시작해야 합니다.
튜토리얼 04: NIC 활성화 및 비활성화(Tutorial 04: Enable and Disable Your NIC)
Linux 에서 명령줄을 통해 수행할 수 있는 더 매력적인 것 중 하나는 이더넷(Ethernet) 연결 을 활성화하거나 비활성화하는 것 입니다.
이렇게 하려면 다음 두 가지 중 적절한 명령을 입력합니다.
sudo ip link setup
sudo ip link setdown
이전 버전의 Linux 에서는 ifconfigup 또는 ifconfigdown을 실행할 수 있지만 이러한 명령은 최신 Linux 배포판에서 더 이상 사용되지 않거나 더 이상 사용되지 않을 수 있습니다. 이 경우 최신 ip 명령을 사용하는 것이 좋습니다.
튜토리얼 05: 네트워크 전달 활성화(Tutorial 05: Enable Network Forwarding)
Linux 운영 체제는 다양한 네트워크에 연결할 수 있으며 라우터 역할을 할 수 있습니다 . IP 주소를 전달할 수 있도록 uncomment the net.ipv4.ip_fporward=1 line 처리를 제거하기만 하면 됩니다.
필요한 구성 파일은 일반적으로 /etc/sysctl.conf 에 저장됩니다 .
설정 방법에 대한 예는 " How to enable IP forwarding on Linux (IPv4 / IPv6) "을 참조하십시오 .
DHCP (고정 IP 주소 대신)를 사용하여 (DHCP)Linux 서버를 설정하는 경우 네트워크 전달 형식을 선택할 수 있습니다. 이것은 일반적이지 않지만 실행 가능하고 누군가가 그렇게 하려는 경향이 있는 경우를 나타내기 때문에 여기에서 참조됩니다.
튜토리얼 06: 셸을 통한 원격 명령(Tutorial 06: Remote Commands Via Shell)
Linux 서버 에 액세스해야 하고 해당 서버가 지리적으로 동일한 위치에 있지 않은 경우 원격 명령을 사용하여 해당 원격 Linux 서버에 액세스해야 할 수 있습니다.
프로그래머나 시스템 관리자에게 있어 서버에 "리모트 인"하는 것은 정상적인 현상입니다.
이를 수행하는 가장 인기 있는 방법 중 하나는 " ssh " 명령을 사용하는 것입니다. 이는 보안 되지 않은 연결을 통해 수행하더라도 Linux 서버 에 안전하게 액세스하기를 원한다는 것을 명령줄 앱에 알리는 것 입니다.
"ssh" 명령을 사용하는 것 외에도 연결 위치와 방법(사용 가능한 다른 옵션 중에서)에 대한 정보를 제공해야 합니다.
Linux 서버 액세스 를 위해 도메인 이름을 사용 하거나 공용 고정 IP 주소를 사용할 수도 있습니다. 이름 또는 IP 주소는 ssh 명령이 액세스하는 대상과 찾을 위치를 알려줍니다.
다른 옵션에는 원격 서버에 로그인하는 데 사용할 사용자 이름이 포함될 수 있습니다. 해당 옵션이 정의되어 있지 않으면 요청할 수 있지만 ssh 명령과 동시에 정의하는 옵션이기도 합니다.
예를 들어:
ssh username myserver.com
암호는 명령에 구성할 수도 있지만 보안상의 이유로 원격 서버와 연결할 때 암호를 입력하는 것이 좋습니다.
왜요? 암호를 일반 텍스트로 명령에 입력하면 동일한 컴퓨터를 사용하는 다음 사람이 암호에 액세스할 수 있으며 암호에 액세스할 수 있습니다.
추가적인 보안상의 이유로 특정 포트를 통해 Linux 서버 에 액세스할 수 있습니다 . 사용할 수 있는 포트를 지정하여 다른 포트를 차단하고 해커의 시도나 DOS (서비스 거부) 공격을 방지할 수 있습니다.
ssh에는 다양한 구성 지점이 있습니다. 이들 중 일부는 shellhacks.com(shellhacks.com) 에 나열되어 있습니다 .
튜토리얼 07: 네트워크 모니터링 도구(Tutorial 07: Network Monitoring Tools)
네트워크 관리의 중요한 구성 요소 중 하나는 모든 것이 제대로 작동하고 계속 작동하는지 확인하는 것입니다. 네트워크 모니터링을 통해 이를 수행할 수 있습니다. 네트워크 모니터링을 수용하는 도구는 다양하지만 궁극적으로 유사한 목표와 목적을 달성합니다.
그러한 네트워크 모니터링 도구 중 하나는 Cacti 입니다. Cacti 는 오픈 소스 네트워크 모니터링 도구입니다. Cacti 는 네트워크를 모니터링하고 기록된 내용을 그래픽으로 표시합니다. 이것은 사용자(특히 초보자)가 문제가 있을 수 있는 부분을 식별하는 데 도움이 됩니다.
프런트 엔드는 많은 사용자를 수용할 수 있으며 때때로 호스팅 서비스에서 다음 그래프에 실시간 대역폭 정보 및 기타 데이터를 표시하는 데 사용됩니다.
데이터는 외부 스크립트나 명령을 통해 Cacti 에 입력할 수 있습니다. (Cacti)Cacti 는 cron-job을 통해 데이터를 가져오고 프론트 엔드 사용자 그래프로 표시하기 전에 MySQL 데이터베이스를 채웁니다.(MySQL)
데이터 수집을 처리하기 위해 사용자가 "채워야 하는" 데이터와 함께 외부 스크립트/명령에 대한 경로를 선인장에 제공할 수 있습니다. 그런 다음 Cacti(Cacti) 는 cron-job에서 이 데이터를 수집하고 MySQL 데이터베이스를 채웁니다.
Cacti 는 네트워크 사용을 모니터링하고 소비자에게 이해하기 쉬운 시각 자료를 제공하려는 네트워크 관리자에게 유용한 도구입니다. 선인장 은 (Cacti)cacti.net 에서 무료로 다운로드할 수 있습니다 . 웹사이트에는 네트워크 모니터링 도구를 설치하고 구성하기 위한 설명서가 포함되어 있습니다.
Cacti 의 대안으로 는 Solarwinds NPM , PRTG 및 Nagios 가 있습니다. Solarwinds 는 SNMP 와 ICMP/Ping , WMI , Netflow , Sflow , Jflow 및 IPFIX 를 지원 합니다. 사전 구축된 템플릿, 그래프 및 경고를 통해 네트워크 모니터링을 빠르게 시작할 수 있습니다.
PRTG 는 최대 100개의 센서를 무료로 제공합니다. Solarwinds 와 유사한 기능 과 함께 스마트폰(Smartphones) , 태블릿, ipad 에 대한 유연한 경고 및 응용 프로그램이 있습니다.
Nagios 에는 (Nagios)Cacti 에서 찾을 수 있는 모든 도구가 있지만 구성이 조금 더 필요합니다. 선택할 수 있는 플러그인이 많이 있습니다. 가장 오래된 네트워크 관리 및 모니터링 도구 중 하나로 견고한 평판을 얻고 있습니다. 그러나 구성 파일을 유지 관리하려면 손을 더럽혀야 합니다.
How To Set Up & Configure TCP/IP Files On Linux (TCP/IP Settings For Linux)
Even non-geeks have likely heard of “TCP/IP” but does everyone know what іt is or how to configurе it on a Linux server using the command line?
It helps to define basic terminology first. At the very least, it allows you to develop a framework on which to build your understanding. TCP/IP is no exception.
This section on terminology is not an exhaustive list. It’ll give you a basis on which to start your journey into understanding networking and how to configure TCP/IP files on Linux.
The *Nix World
Have you ever wondered what *nix means? What about how Unix and Linux are related (let alone all of the various versions of each)?
*nix is a method of referencing Linux and/or Unix (or any distribution) using a wildcard (the asterisk) to do so.
*Nix was developed in the late 1960’s. AT&T Bell Labs developed Unix at around the same time. hrough various iterations and developments, Linux was also born.
The result of these parallel innovations is that once you learn how to perform installations on one server via the command line, you’ve learned a skill that’s likely compatible with many other tasks on a variety of Unix or Linux servers.
Man Pages – Information at Your Fingertips
Much like Google, Linux has its own set of search and research tools that enable users to find the resources they need. Those resources are known as, “man pages.” When you are logged into a Linux server (or Linux-based operating system), you can open the command-line application and type in what you would like to research, like typing in a search term in an interactive documentation file.
If you pick a topic you want to research, like a Linux utility, tool, daemon, script, you can look that up by typing “man” and then the word. You will learn how to do this later in this article.
Man pages are easy to use. Just start typing a couple of words and the Linux OS will begin returning the information to you. If there’s no man page for a particular topic Linux will tell you that.
For the most part, man pages are reasonably accurate for the software version on which they appear. For example, if you are logged into a Linux server that’s 10 years old, the man page displays information relative to that version (and age).
Man pages are easy to use and accurate, but there are a couple of caveats. Let’s illustrate those caveat(s) via images.
In the image below, the man page for ARP indicates that ARP is obsolete (under the “notes” section) and that one should look up ip neigh instead. It would seem, by that notation, that one may want to type “man ip neigh” to access information about the replacement tool/protocol.
However,, typing “man ip neigh” does not look up the man page for “ip neigh”. Instead, it’ll look up two man pages… one for “ip” and the other for “neigh.”
While it’s true that you’ll get a man page if you type “man ip neigh,” unless you are paying close attention, you may miss that it’s not actually what you were looking for.
You could add a dash (even though that isn’t what shows in the man page when referencing the replacement tool)… So, if you add a dash and type “man ip-neigh” that also works fine but it isn’t correct either.
You might try typing “man ip-neighbour” (note the British spelling). When you type that particular phrase, you’ll see the correct man page for replacing the ARP man page (or replacing the ARP protocol). The bottom line is this: If you can’t find what you need, try using different combinations until you get the desired man page.
As an example, try looking up the man page for the nslookup tool. You do this by typing “man nslookup”. When you do that, you’ll see a man page that looks similar to the image/screenshot below. You’ll learn all you’d want to know about the nslookup tool.
After the man page pops up on your screen you can scroll down, read, apply, test, and even close out the man page (by typing the letter “q” and letting the man page automatically close).
If you request a man page that doesn’t exist, Linux will provide you with the feedback that there’s no entry for that man page and to try another one.
IPv4 and IPv6
Both IPv4 and IPv6 are technically the same, but they don’t appear the same to us humans. They’re a means of identifying machines or devices on a local area network (LAN). They’re private in the way that they identify the devices in the LAN.
IPv4 uses numbers separated by dots/periods. Most of us are familiar with the type of IP addresses we see for computers connected to our private networks using the IPv4 format.
Computers on a network also have an IPv6 address, but it looks different. IPv6 is composed of alphanumeric characters separated by colons ( : ).
So what are the differences between IPv4 and IPv6? Think of it like a network name. One is like the first name and the other is the last name. Both names point to the same person (or in this case, a computer). Just as we generally have a different first name compared to our last name, the IPv4 “name” will be different from the IPv6 “name” even though they both point to the same machine.
Carla Schroeder has written an easy-to read and useful article about IPv4 and IPv6.
Root Access on a Linux Server (and su and sudo)
For many of the tasks that need to be completed, root access (a.k.a. Administrator or superuser) is required. That’s because many of these utilities and apps are sensitive enough that they’re restricted for security reasons.
An alternative solution to logging in as root or triggering superuser access (su) is to prepend a command with “sudo” telling the Linux machine that that particular command needs to be run as superuser/root, but that subsequent commands do not (unless also prepended with the “sudo” directive).
In cases where “sudo” is used and prepended to the command, Linux will request the su password in order to authenticate the superuser identity and permissions.
Networking Protocols
there are many different protocols to consider when discussing Linux. The two protocols that are primary to this article are TCP and IP.
Transmission Control Protocol (TCP)
Transmission Control Protocol, more often referred to as TCP, is a protocol used for the transmission of packets, just as the name describes.
See below for an explanation of various tools, including the Linux tool called Traffic Control (tc).
TCP directs the Linux operating system on how packets should move from one place to another. It also controls network traffic and directs the transmission of packets of information (like folders of data moving from one place to another).
This is why the protocol is called Transmission Control Protocol (TCP).
Internet Protocol (IP)
Internet Protocol is commonly referred to by its acronym, IP.
In the case of the IP you have a wider area (the Internet) to transmit packets. It’s like having a wider, longer, and more travelled super highway… called the internet. While TCP controls the movement of packets across a network, IP controls the movement of packets across the internet.
ICMP Protocol
ICMP stands for Internet Control Messaging Protocol. While it’s a protocol that’s available in most Linux distributions, it may not be available on all Linux distributions. This was evidenced by the lack of a Man page within a current Centos installation.
At first glance, it may not seem like this particular protocol is that essential but in reality it is. ICMP is responsible for providing error messages if/when a packet doesn’t properly reach its destination. ICMP is essential for receiving status updates on the delivery (or receipt) of the packets of information being transmitted.
User Diagram Protocol (UDP)
User Diagram Protocol (UDP), like Transmission Control Protocol (TCP), is a protocol for the transmission of packets of information from one point to another. In the case of TCP, as a part of the process/transmission, there’s a verification of successful delivery of the packet(s), making it more reliable than UDP.
In the case of UDP, there’s no verification process so you won’t know whether the packets were transmitted or received successfully and without error. As such, it’s an easy enough protocol to utilize but it’s not verifiable or able to be authenticated.
Linux Configuration
There’s several configuration files available in the Linux operating system.
For example, if you’re running an Apache server on your Linux machine, the Apache configuration files are important. Those files let the Apache web server know what’s going on with the domain and more specifically, the site that’s hosted on that server.
Sometimes the configuration file is labeled as httpd.conf. Sometimes it’s labeled as apache.conf. Or it could be a completely different label/name. You may find the configuration files in one location on one server, and other times they’re in a completely different location on another server.
Fortunately, there are helpful commands that may assist in locating specific configuration files. For example, you can type the following to locate the “httpd.conf” configuration file, if it exists:
find / -name “httpd.conf”
The first word, “find”, let’s Linux know what command/utility you’re using, which in this case is the “find” utility. The second component of the command line is the “/” which lets the find utility know that it should be searching the path starting from the root level of the server.
If you were looking in a more specific location, you may have something like “/etc” to let Linux know to start in the etc directory and follow that path. By providing a specific path/location, you can potentially speed up the process, because Linux doesn’t have to search in places that are redundant.
The “-name” option lets Linux know what you’re looking for in the name of the file or directory. It’s helpful to include the name in quotation marks, and you can also use an asterisk ( * ) as a wild card when searching.
Some examples of configuration files and directories in the “/etc” directory/path include:
- pam.d – a directory that contains utilities related to authentication modules. “Su” and “sudo” are found there, as an example.
- sysconfig – a directory that includes functions of the computer, like power management, mouse, and more.
- resolv.conf – a file that aids in the functionality of the domain name server, if the Linux machine is being used in that capacity.
- services – this file contains the available connections (i.e. open ports) available on the Linux machine.
If you’re wondering if any files, paths, or utilities are obsolete or deprecated, use the man pages to check. This is a helpful way to keep tabs on what is current and what has changed.
Understanding the Linux File System
In many Linux distributions, configuration files are found in the network-scripts directory under the “etc/sysconfig” path. If they’re not located there, it’s likely that there’s a similar location/path. The files that are present in this particular case are shown in the screenshot below.
As you’ll see in the screenshot below, there are two configuration files. Each of them are labeled according to their respective interfaces (i.e. ifcfg-eth0).
The configuration files are preceded by “ifcfg” which replaces the ifconfig command (as well as becoming a part of the interface file name). That said, it has now been somewhat replaced as well since the ifcfg is not compatible with IPv6.
The two interfaces references (ifcfg-eth0 and ifcfg-lo) refer to specific types of interfaces. Linux developers were helpful in this area, providing definition and direction in the form of file names. In the case of the interface ending in “eth0”, it’s an interface that’s connected via “ethernet” or has ethernet capability.
The use of the letters “eth” point you in the right direction. The number that follows “eth” provides the number of the device. So, the next ethernet device may be something like “ifcfg-eth1” and so forth.
The file name that ends in “lo” refers to a “loopback” interface. It’s also referenced as the “localhost.” This is a network connection that isn’t technically a real network connection. It simply allows processes to communicate on the device without communicating over the network. Think “virtual” when thinking about this particular interface.
All Linux distributions are capable of having a loopback (or localhost) and are usually set up for one by default. They use an interface that ends in “-lo.” The IP address for the localhost is usually 127.0.0.1. In many cases, the loopback virtual interface can be used to test connections and rule out other potential network issues.
The Files
There are different ways to edit configuration files (as well as view them). One method is to use the “vi editor” that’s accessed via the command “vi” followed by the filename. In this case, when one types “vi ifcfg-eth0” (without the quotation marks) they are able to view the network information for that particular interface (eth0).
However, it would be more advisable to do it the traditional way and follow the network configuration instructions found in the man page for ifcfg.
This may also be easier for the non-technical person. Using the vi editor does require a bit of attention to detail so if you’re detail-oriented (or you’re already a programmer or system administrator) the vi editor may be an optimal solution when working with Linux configuration files.
In accessing the man pages, we’re able to review information about the ifcfg script that replaced the ifconfig script (as shown in the above screenshot of the man page). Also, when looking at the list of interfaces in the Linux distribution, we notice the ifup and ifdown commands. Those, too, can be reviewed in their man page(s).
A screenshot of the man page is shown in the image below. As you will see in the man page, there’s additional Linux configuration files (and the paths to get to those files) that can be consulted (and modified) in the set up and configuring of the TCP/IP files on Linux.
If you use a command-line text editor like the vi editor to view the configuration file, you will notice some options that are defined. For example, in looking at the network interface, you may see words in all caps, followed by an equals sign (=), and then another word.
For example, there may be a directive that’s “ONBOOT” and it may say “ONBOOT=yes” as an example of a configuration option. There’s several other configuration points and options as well. For example, another one is NETMASK.
If you see the configuration directive, “NETWORKING,” it should be followed by a “yes.” If it’s followed by “no” it may represent a problem because that would indicate that the network interface is not activated for networking.
Here is a step-by-step process to correcting the situation just described:
- Make a copy of the configuration file, to be safe. There are a few ways to do this. One of the easiest is with the command window.
Type: cp ifcfg-eth0 ifcfg-eth0_20200101
Then on the next line, type: mv ifcfg-eth0_20200101 /home/mydirectory/ifcfg-eth0_20200101
This moves the file copy you just made to a directory you’re using for backups.
- Now that you’ve made a backup of the configuration file,, it’s time to make changes to that configuration file. If you’re using the vi editor, you would type the following:
vi ifcfg-eth0
After doing so, the file will open in the terminal/command application (similar to the way a man page opens when you trigger it).
Once the configuration file is open, you would look for the line that includes “NETWORKING=no” and delete that line or change it to “NETWORKING=yes”. This can be done with the “cw” directive in the vi editor. By typing a forward slash, you’re telling the vi editor that you’re searching for something. In this case, you let the editor know that you are searching for “NETWORKING” and when it’s found (directing the mouse to that location) you can use the right arrow key to move to the word “no”.
When you get to the word “no”, stop on the “n” and type “cw” allowing you to change the “no” to “yes.” The “cw” stands for change word and Linux allows you to change the entire word from one word (“no”) to another (“yes”). If you only wanted to change one letter, you could use an “r” to replace one letter or character.
The screenshots show this process below.
- After saving the configuration file (i.e. typing esc to get out of the INSERT mode and then a double Z to save the file), it’s time to restart the service or the computer. This can be done in several different ways. One method to reboot the computer is typing the following command line:
shutdown -r now
The shutdown command tells the Linux machine to shutdown. The -r option tells the command that it isn’t just a shutdown, but a reboot and to do it now.
Tip: If you want to know when the computer or server has completed the reboot, type “ping” and then the public IP address of the computer/server (or a domain name of a site hosted on the Linux server).
By using the ping command, you will see that the server is not “pingable” (which happens during the reboot) and then when the server successfully restarts, the ping will respond with a positive response, indicating a successful reboot.
The following are some images that help to illustrate the steps in the above list.
Step 1:
Step 2:
Tip: Keep in mind that nothing in the server world is singular. For example, you may change the configuration for a particular interface (in this case eth0) but that may be just one interface on a network and may be affected by (or affect) another server.
So, in the example above, by restarting the server, it will trigger network devices to also restart. This is not the singular option for this interface but this interface would be affected by a command to restart.
/etc/hosts File(s)
The /etc/hosts file may or may not exist. If it does exist, it may or may not be used in the configuration. For example, you may have a different system that handles host configurations, rather than managing the file directly. Also, the hosts file itself varies. For example, IPv4 and IPv6 handle the configuration differently, as you can see in the image below.
Configuration Files; Locations/Paths; Terms; and More
Some additional helpful filenames and file locations are:
- /etc/sysconfig/network-scripts/ (configuration file path)
- /etc/sysconfig/network-scripts/ifcfg-eth0 (configuration file)
- /etc/hosts (configuration file)
- /etc/resolv.conf (configuration file with nameserver information)
In many cases, system or server software creates the configuration files automatically. Also, if DHCP is used, there are other aspects of the networking configuration that are calculated on-the-fly, since static IP addresses are not used in that case.
The following command-line (CL) commands were (or are) used in most Linux distributions. Where they are obsolete or deprecated, the replacement command is listed.
- route (obsolete / deprecated): Was used to show and edit routes. Replaced by ip route.
- hostname: Used to display or amanipulate and edit the hostname of the machine.
- netstat: View network connections, routing tables, interface statistics, multicast memberships, etc.
- arp: (obsolete / deprecated) Used to be used to show IPv4 information; specifically the network neighbor cache. IPv6 has become the network address, replacing the IPv4 collection of four numbers separated by periods. In light of these changes, this obsolete command has been replaced by ip neigh.
- ip: Not only does IP stand for “internet protocol” and the ultimate WAN (wide area network”) but it’s also a utility that allows the system administrator or computer user the ability to view the TCP/IP parameters as well as setting them as needed.
- tc: This stands for “traffic control” and is a utility to help with managing the inbound and outbound traffic on the Linux machine.
Configuration Tools: GUI Vs. Command Line (CL)
To provide a point of reference, the following three images display a graphical user interface (GUI) mechanism to handle the configuration of networking, including TCP/IP.
The first image is the Apple Mac GUI (System Preferences > Networking) and the second two images are that of the Windows Operating System (though it varies from version to version). It’s accessed via the Microsoft Control Panel and Network Connections, as you can see in the screenshots.
Pros and Cons of GUI Versus Text Editor or Command Line (CL)
While many people prefer graphical user interfaces (GUI) because of their ease of use, visual presentation, and overall simplicity, it’s helpful to understand configuration files (in this case related to networking) so that you can troubleshoot and correct any issues.
You may want to grab the GUI first but it helps to be fully informed… just in case. Also, there’s some operating systems that do not necessarily have a GUI (or don’t have one yet) so again; it’s helpful to be prepared.
In the next section we’ll cover configuration files and how to access them, update them, as well as the management of the files and utilities.
Linux Command-Line (CL) Tools, Utilities, Scripts, and Daemons
There are many tools that are available for Linux distributions. Again, like other commands there are similarities (and differences) between how those tools are used in the different distributions. In some cases, tools are available but need to be installed first, and the installation process often varies.
The command line tool is often referenced as shell and in the early days, terminal. There are other terms for it but generally, it’s an application that allows the user to access operating systemsby typing commands in a window.
Let’s look at a couple of examples. The first one is from the Windows operating system and likely looks familiar to Windows users. The tool is openedby typing CMD (as shown in the screenshots below).
The second screenshot is that of an application called Terminal that comes pre-installed on most Apple computers.
NSLookup (nslookup)
In the case of nslookup, the ns stands for nameserver and the lookup portion of the command is a “look up” of information. So, what the name of this tool is telling us is that it’ll look up information generally available via a nameserver.
NSLookup is a handy tool. In this case, we are using it to look up information about eBay. In order to do so, we type “nslookup ebay.com” and we’re presented with information that’s similar to what’s shown in the image below.
The command is displayed at the top of the screenshot (after the blurred out private information). Then, the output from that request (the nslookup) is shown below that, with information such as Server (the public IP address), the specific IP address, etc.
Traffic Control (tc)
Another tool is the “Traffic Control” tool (also referred to as “tc”). It’s a tool that allows the scheduling and processing of data packets.
The command tells you how the packets move over a network. That how aspect includes the answers to questions like timing, speed, devices, and more. Here is a command line (CL) representation of the use of Traffic Control (tc):
While it might look like “gibberish” to some, each word in the command line represents something important. Here is the listing:
- tc: This is the tool, in this case “Traffic Control” (a.k.a. “tc”). This tells the command line application/software which Linux tool to use.
- qdisc: This abbreviation stands for queuing discipline and is another way of describing a simple scheduler.
- add: Since we are building a configuration (yes, technically a file), we are telling the tool that we are adding to the controls.
- dev eth0: The “dev” refers to the “device”, letting the tool know that we’re about to define the device. The “eth0,” in this case, is the reference to the device. You’ll notice that this is similar to what appears in a graphical user interface (GUI) for a device label.
- root: This tells the tool that we are modifying the outbound traffic from the root level, or egress.
- netem: This word represents the phrase, “network emulator”. While it may not be the hardware network, it’s emulating the same. This is similar to how the Parallels software emulates the Windows software for Apple computers. Granted, it’s a completely different piece of software but is emulation software in the same way that netem is emulating a network. In this case, netem represents a WAN (wide-area-network) as opposed to a LAN (local-area-network).
- delay: This word tells the tc tool that we’re modifying the “delay” component of the transaction.
- 400ms: We have already told the tool that we’re affecting the delay, but now we need to define how much we are affecting the delay. In this case, it’s by 400 milliseconds.
Network Manager
The purpose of the Network Manager is to simplify and automate your network configuration. For DHCP users, the Network Manager can obtain an IP address, supersede default routes and automatically swap out nameservers.
The nmtui tool for using your Network Manager is available in most, though not all, Linux distributions. Also, keep in mind that some tools are “available” and yet not available. In other words, there are some tools and daemons that need to be installed and do not necessarily come pre-installed on the Linux distribution in question.
Other Networking Topics
There are many aspects of networking and TCP/IP that are particularly fascinating, especially when dealing with a Linux distribution. Don’t forget that you have manual pages (a.k.a. man pages) available right within the Linux installation. So, while this may appear to be a sort of unrelated list of what you shouldn’t do, you can always use a man page to figure out what you should do.
Linux as the Router
These days, most people use hardware that’s dedicated to the task of routing (i.e. router) to manage the network route task.
Many times, that’s because routers are a part of the package deal with home or office internet packages/contracts. The customer is usually caught paying a rental/lease fee per month (or annually) or having to purchase the router.
However it’s handled, there’s little need for Linux to operate as a router even though it’s capable of functioning as one. The scenarios described above create an almost pseudo-deprecation situation for Linux, but that doesn’t mean Linux is out of the game entirely. It’s possible to set up a Linux server as the hardware (and subsequent software) router if you need to.
IP Route (Formerly “Route”)
The following image shows a screenshot of the man page for “Route” and the directives that are possible with that tool.
SNORT – An Intruder Detection System
Snort Software is an open source Intrusion Detection System (IDS) originally developed by Martin Roesch and since acquired by Cisco Systems. It operates on the basis of rules that utilize the TCP/IP layers of the network. Defining those rules identify intrusions to protect a network.
How to Set Up Linux > TCP/IP Settings for Linux
The following mini tutorials will help you with some common tasks that you may come across in the Linux world.
Keep in mind that times change quickly, so it’s helpful to use your man pages as well as searches in Google to verify the following steps and ensure that there aren’t any other tools that may do the job better. As of the writing of this article, that’s not the case.
Tutorial 01: Assigning a Static IP Address to a Linux Machine
The first question you should ask is whether or not the computer/server needs a static IP address (one that does not change) or a changeable IP address (like DHCP – Dynamic Host Configuration Protocol). If this is your personal computer (not a server), the chances are you may be using DHCP for your access to the internet.
What that means is that you don’t have to mess with assigning a static IP address to your computer. Your internet service provider (ISP) and any hardware provided/leased is automatically calculating an IP address on-the-fly to enable you to connect to the internet. In other words, if you don’t need a static IP address, a dynamically changing one is just fine for your non-server computer.
If you have a server and you need it to be accessible to others (i.e. outside your home; a WAN/internet; non-LAN) then you will need a static IP address so that either the domain that you are using is mapped to it via the hosting nameserver assigned to the domain, or accessible directly via the static IP address.
If no one needs to access your computer or server outside your home, then a changing IP address (dynamic; non-static) is just fine, because no one is using a static IP address.
Note: Some people have used a DHCP IP address for public access (yes, even as a server) but,
- It requires a very technically-minded person to do so, so it’s not as common.
- It’s much more difficult to maintain (because of its ever-changing nature) than a static IP address.
If you do need a static IP address, then go ahead and follow the steps here. If not, you can skip this section.
As you will see, the command (shown above) includes “sudo” at the beginning of the line. While it’s possible to use the “su” command (superuser) and log in as the superuser, the use of “sudo” only runs that one command as superuser.
The other method, logging in as superuser, allows all tasks to be completed as superuser, making it more convenient to do what needs to be done.
However, along with that comes a security risk, which is why it’s safer to simply start the command with sudo and allow the app to request a password (as needed) to complete the command as superuser for that task/command.
The choice is yours and should be based on whatever method is easier. The file represented by the screenshot below is accessed via the following command:
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
Prior to using that command, the network device number is verified ( eth0 ) to ensure that it’s correct. As you recall, the Linux configurations are managed within the file for the interface so it’s essential that the interface number is verified from that file prior to editing the configuration file.
Another aspect of the configuration file to take notice of is the use of the word “static.” Since we are adding a static IP address, it’s important to let the configuration file know that that’s the case.
The notes were added in the screenshot below for illustrative reasons, but should not be included in your configuration file. Also, in some Linux distributions, quotation marks are required. In this particular configuration file, no quotation marks were present in the auto-created configuration file so that trend was continued and no quotation marks were added.
The following screenshot shows how the file would actually appear, with the notes and extra spaces removed.
The next (and final) configuration file to be edited is accessed by typing:
sudo vi /etc/resolv.conf
Within that file, the nameservers can be added (or modified). Those nameservers should match the other configuration file that was just modified. In this case, at /etc/sysconfig/network-scripts/ifcfg-eth0 (the screenshot above).
The verbiage that will be used is “nameserver.” So, where the device configuration file shows DNS1=8.8.8.8, the resolv.conf file should show nameserver 8.8.8.8.
The counterpart of DNS2=4.4.4.4 would show as nameserver 4.4.4.4 in the resolv.conf file.
Loosely put, the steps above work on the Red Hat Linux distribution, but there’s no guarantee that it’ll work in the future, with the technology changes that occur. This is why configurations should be tested and verified.
Once the configurations have been completed, restart the network interface with the preferred method as described above. This will apply the changes. It’s also helpful if the static IP address is tested. You can do this by attempting to connect to that public static IP address from another device (preferably on a different network).
You could also call a friend or associate and have them attempt a connection to the static IP address from another geographic location (and different network).
Tutorial 02: Network IP Aliasing
It’s possible to assign more than one IP address to one network interface card (NIC). This is called Network IP Aliasing because only one IP would be an actual one, so the additional IP addresses are aliases to the same card. In order to assign the IP address, use your favorite method of assigning the IP address as described in Tutorial 01.
It isn’t that it has to be static, but in order to have multiple IP addresses assigned using Network IP Aliasing, one has to assign IP addresses using a static IP.
Tutorial 03: Change Host Name of the Linux Machine
Use the following steps to change the hostname of your Linux machine using your preferred editor:
1. Modify the hostname configuration file by typing the following in the command line app:
sudo vi /etc/hostname
Wherever you see the old host name in that configuration file, replace it with the new host name.
2. Modify the hosts configuration file by typing the following in the command line app:
sudo vi /etc/hosts
Wherever you see the old host name in that file, replace it with the newly chosen/designated host name in the same way that you did with the hostname configuration file in the above step one.
3. Restart the server or Linux computer. One method to do this (depending on your Linux distro) is to type the following in the command line app:
sudo shutdown –r now
This restart is needed in order for the changes to take effect.
Tutorial 04: Enable and Disable Your NIC
One of the more fascinating things that you can do via the command line in Linux is to enable or disable your Ethernet connection.
To do this, type the appropriate command from these two:
sudo ip link setup
sudo ip link setdown
With older versions of Linux, you could run ifconfigup or ifconfigdown, but it’s possible that those commands are deprecated or obsolete within newer Linux distributions. In that case, the newer ip command is preferable.
Tutorial 05: Enable Network Forwarding
Your Linux operating system is capable of connecting a variety of networks and can act as a router. All you need to do is uncomment the net.ipv4.ip_fporward=1 line which will enable you to forward the IP address.
The necessary configuration file is normally stored at /etc/sysctl.conf:
For examples on how to set it up take a look at “How to enable IP forwarding on Linux (IPv4 / IPv6).”
If you’re setting up a Linux server using DHCP (instead of a static IP address) you can opt for a form of network forwarding. This is not common, but referenced here because it’s doable and it represents a case where someone may be inclined to do so.
Tutorial 06: Remote Commands Via Shell
In the case where you need to access a Linux server and that server is not geographically located in the same place as you, you may need to use remote commands to access that remote Linux server.
For those who are programmers or system administrators, “remoting in” to a server is a normal occurrence.
One of the most popular ways to do this is to use the “ssh” command, letting the command line app know that you want to securely access the Linux server, even if you are doing so via an insecure connection.
In addition to the use of the “ssh” command, you need to provide information of where you’re connecting and how (among other options available).
You may use a domain name for the Linux server access or even a public static IP address. The name or IP address tells the ssh command what it’s accessing and where to find it.
Other options may include the username that will be used to login to the remote server. Without that option defined, it may be requested but it’s also an option to define it at the same time as the ssh command.
For example:
ssh username myserver.com
The password may also be configured into the command but it’s recommended, for security reasons, that you enter that at the time of the connection with the remote server.
Why? If the password is typed into the command, in plain text, it can be accessed by the next person using that same computer and they would have access to the password.
For additional security reasons you may want to access the Linux server via a specific port. By designating a port that may be used, you can block other ports and prevent hacker attempts or DOS (denial of service) attacks.
There are many different configuration points for ssh. Some of these are listed at shellhacks.com.
Tutorial 07: Network Monitoring Tools
One important component of managing a network is verifying that everything works and continues to work. You can do this through network monitoring. Tools that accommodate network monitoring vary but ultimately accomplish similar goals and objectives.
One such network-monitoring tool is Cacti. Cacti is an open-source network monitoring tool. Cacti monitors the network and provides graphical representations of what has been logged. This helps users (especially newbies) to identify where there may be issues.
The front end can accommodate plenty of users and is sometimes used by hosting services to display real-time bandwidth information and other data in the following graphs..
Data can be fed into Cacti via any external script or command. Cacti will bring the data together via a cron-job and fill your MySQL database before presenting it as a front end user graph.
To handle data gathering, you can feed cacti the paths to any external script/command along with any data that the user will need to “fill in”. Cacti will then gather this data in a cron-job and populate a MySQL database.
Cacti is a useful tool for network administrators who want to monitor network use and provide easy-to-understand visuals to consumers. Cacti can be downloaded for free at cacti.net. The website includes documentation to install and configure the network monitoring tool.
Alternatives to Cacti you could try include, Solarwinds NPM, PRTG and Nagios. Solarwinds will support SNMP as well as ICMP/Ping, WMI, Netflow, Sflow, Jflow and IPFIX, to name a few. The pre-built templates, graphs and alerts help you to start monitoring your network quickly.
PRTG provides up to one hundred Sensors for free. It has similar features to Solarwinds, plus flexible alerts and applications for Smartphones, tablets, ipads.
Nagios has all of the tools you will find in Cacti, but does require a little more configuration. There are plenty of plugins to choose from. It has a solid reputation as one of the oldest network management and monitoring tools. But, you will have to get your hands dirty in the maintenance of its configuration files.