강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

ping에 응답하지 않도록 설정하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

ping에 응답하지 않도록 설정하기





 

리눅스시스템을 설치한 후에 시스템 관리작업은 대부분 원격지에서 수행한다.

 

 

 

 

 

 

 이런 경우 시스템이 제대로 운영중인가를 확인하는 가장 간단한 모니터링 방법이 ping테스트를 하는 것이다.

 

 

 

 

 

 하지만 요즘 악의적이고 무분별한 ping테스트를 시도하는 경우가 흔하게 발생하므로 시스템자체에서 ping에 응답하지 않도록 설정하곤 한다.

 

 

 

 

 

 

 따라서 필자는 본 책의 기초기술 파트에서 ping에 응답하지 않는 가장 간단한 방법을 소개할까 한다.

 

 

 

 

 

 

 , ping에 대해서 설명하자면 ping에서 사용하는 ICMP라는 프로토콜부터 /proc파일시스템, 그리고 ping을 실행하는 방법등과 같이 많은 부분을 설명해야 한다.

 

 

 

 

 

 

 이 부분에 대해서는 이 책의 리눅스 네트워크 관리실무편에서 별도로 설명해 두었다.

 

 

 

 

 

 , 여기서는 시스템 자체에서 외부의 ping테스트에 응답하지 않도록 하는 설정에 대해서 설명한다.

 

 

 

 

 

 

 결론부터 말하자면 ping에 응답하지 못하도록 하는 방법은 다음과 같이 몇가지가 있다.

 

 

 

 

 

 

 

ㅇ 리눅스 시스템이 외부의 ping에 응답하지 않도록 설정하는 방법

 

 

. /proc/sys/net/ipv4/icmp_echo_ignore_all 파일의 값을 1로 설정

. /etc/sysctl.conf파일에 “net.ipv4.icmp_echo_ignore_all = 1” 행을 추가

. /etc/rc.d/rc.local 파일내에 “echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all”

.“sysctl -w net.ipv4.icmp_echo_ignore_all=1” 수행

 

 

 

하지만 궁극적으로 위의 방법들은 모두 같은 방법들이다.

 

 

 

 

 

 표현방법만 달리하였을 뿐 모두 커널의 파라미터(옵션) 0 또는 1값을 갖도록하여 ping 응답여부를 결정하는 것이다.

 

 

 

 

 

 /proc파일시스템과 sysctl명령어에 대한 부분은 이 책의 네트워크 부분에서 다루고 있으므로 자세한 설명은 해당 부분을 참고하기 바란다.

 

 

 

 , 기초기술을 익히는 이 파트에서는 설정하는 방법만을 설명하고 있다.

 

 

 

 

 

 

 

리눅스의 /proc디렉토리는 가상파일시스템이라고 하며 커널과 프로세스들을 포함하여 현재 메모리에 로딩되어 있는 시스템 설정값들이 파일형태로 존재하는 곳이다.

 

 

 

 

 

 물론 시스템이 종료되면 모두 사라진다.

 

 

 

 이 디렉토리에 있는 수많은 파일들 가운데 특히 /proc/sys/net/ipv4/ 디렉토리에 존재하는 파일은 TCP, UDP, ICMP등과 같은 프로토콜의 기능설정을 위한 파일들이 텍스트로 존재하는 곳이다.

 

 

 

 

 

 이 디렉토리에 있는 파일들 가운데 icmp_echo_ignore_all파일은 ICMP프로토콜 전체에 대하여 현재 시스템이 응답을 할 것인지 말것인지를 결정하는 것이다.

 

 

 

 

 

 , icmp_echo_ignore_all파일의 값이 0이면 응답을 하는 것이고, 1이면 응답을 하지않는 것이다.

 

 

 

 

 

 따라서 ping테스트는 IMCP프로토콜을 사용하므로 이 파일의 값을 1로 설정하면 현재 시스템은 ping에 응답하지 않게 되는 것이다.

 

 

 

 

 

 , 그럼이제 위의 4가지 방법중 첫번째 방법에 대한 실습을 하기 위하여 다음 예를 보도록 하자.

 

[root@sulinux ~]#cat /proc/sys/net/ipv4/icmp_echo_ignore_all

0

[root@sulinux ~]#

 

위의 예와 같이 현재 이 파일의 값이 0으로 설정되어 있다.

 

 

 

 

 

 따라서 현재 이 시스템은 다음예와 같이 ping에 응답하도록 설정되어 있는 것이다.

 

 

 

 

 

 

 5ef6539eaa8f8693ae488bb31c5d4ada_1683785293_9457.png 



 

이제 다음과 같이 이 값을 1로 설정해 보도록 하자.


 

 

[root@sulinux ~]#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

[root@sulinux ~]#

[root@sulinux ~]#cat /proc/sys/net/ipv4/icmp_echo_ignore_all

1

[root@sulinux ~]#



 

위와 같이 이 파일의 값을 1로 설정하고 원격에서 다음과 같이 ping테스트를 해보았다.

 

 

 

 

 

 

 

5ef6539eaa8f8693ae488bb31c5d4ada_1683785315_8746.png
 

 

물론, 다시 ping에 응답하도록 하려면 이 파일의 값을 0으로 다시 설정하면 된다.

 

 

 

 

 

 마지막으로 echo를 이용하여 이 파일의 값을 0 또는 1로 설정할 수도 있지만 앞에서 잠시 언급하였듯이 sysctl이라는 명령어로 다음과 같이 설정해도 된다.

 

 

 

 

 

 

 

[root@sulinux ipv4]#sysctl -w net.ipv4.icmp_echo_ignore_all=0

net.ipv4.icmp_echo_ignore_all = 0

[root@sulinux ipv4]#

[root@sulinux ipv4]#sysctl -w net.ipv4.icmp_echo_ignore_all=1

net.ipv4.icmp_echo_ignore_all = 1

[root@sulinux ipv4]#

 

이상으로 시스템이 ping에 응답하도록 하는 방법과 응답하지 않도록하는 방법에 대한 설명을 마무리한다.


관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,074 명
  • 현재 강좌수 :  35,995 개
  • 현재 접속자 :  527 명