로그인
Sign in

ping이 제대로 안 나가거나 아래 메세지를 출력할때

connect: No buffer space available

 

아래 값으로 설정(디폴트 값은 128, 512, 1024임)

net.ipv4.neigh.default.gc_thresh1 = 1024

net.ipv4.neigh.default.gc_thresh2 = 2048

net.ipv4.neigh.default.gc_thresh3 = 4096

 

 

arp -a 명령어는 총 갯수를 표현해주지는 않는다

그래서 위에 쓴 arp 정보가 기록된 파일(/proc/net/arp)를 이용하는데

 

파일 내용의 줄 수로 개수를 판별한다

arp table 개수: 아래 명령어로 나온 값 -1

 

# wc -l /proc/net/arp

 

명령어 결과로 나오는 숫자는 8

그러나 실제 ARP Table의 ARP 개수는 7개이다

-1을 해야하는데 이유는 첫 줄이 분류이름 줄이라서 그렇다

 

 

그런데 이 ARP Table의 ARP 개수가 정해저 있다

Linux kernel 에서의 기본값은 최대 1024개로

ARP Cache 라고 일반적으로 표현하는 것 같다

 

아래 명령어로 확인 할 수 있다.

 

# sysctl -a | grep gc_thresh | grep ipv4

 

 

sysctl prarameter 중 최대한 적게 나오게 명령어를 주었다

저중에서 net.ipv4.neigh.default.gc_thresh로 시작하는 3개의 옵션이

ARP Table의 ARP 개수에 관련된 parameter이다

 

gc_thresh1은 garbage collector가 안들어올 때 최소값(default 128)

gc_thresh2는 garbage collector가 들어올 때 5초이상 지나면 지워버리고 남길 기본값(default 512)

gc_thresh3은 garbage collector가 들어올 때 최대값(default 1024)

※ 참조: https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt

 

이중 최대값인 gc_thresh3 값의 크기를 변경하여

ARP Table의 등록된 ARP 개수를 늘리거나 줄일 수 있다.

 

변경하는 명령어는 아래와 같다

 

# sysctl -w net.ipv4.neigh.default.gc_thresh3=8192

 

 

변경 후에 계측기나 패킷 제너레이트 툴을 이용하여 MAC주소를 강제고 많이 학습하게 하면

ARP Table의 ARP 개수가 늘어난 것을 확인 할 수 있다

제비게릴라

2019.01.04
17:24:43
(*.221.195.115)
아래 명령어로 클리어
Clear ARP cache and validate:
  1. Run command: ip -s -s neigh flush all.
  2. Run command: arp -n.
  3. Compare the last command results to the first (should have less rows)
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 자주 사용하는 명령어 제비게릴라 2019-06-27 20926
» ping이 제대로 안 나갈때 connect: No buffer space available [1] 제비게릴라 2019-01-04 6514
213 centos 7.5에서 openssh 소스 설치 [1] 제비게릴라 2018-10-24 5386
212 apache2 2.4.33 소스 설치 제비게릴라 2018-10-15 5332
211 oom-killer 시에 종료 순서 정하기.. 제비게릴라 2018-05-11 5289
210 centos 7의 kernel.sem 설정 방법 제비게릴라 2018-05-02 5297
209 ubuntu 멀티 인터페이스 설정 작업 제비게릴라 2018-02-27 5223
208 yum update 시 중단 되었을때 조치 법 제비게릴라 2017-01-15 6555
207 파일 사이즈 비교 제비게릴라 2016-04-29 5209
206 rpm 패키징 방법 file 제비게릴라 2016-04-29 6617
205 heartbeat 설정 방법 제비게릴라 2015-10-19 6568
204 oracle 계정으로 ssh 접속시 Key 인증 방식의 로그인 오류 발생 조치 제비게릴라 2015-10-06 5254
203 리눅스 date 명령 : 어제(과거) , 내일(미래) 날짜, 시간 구하기 제비게릴라 2015-03-20 5249
202 redhat 커널 버전 리스트 제비게릴라 2015-02-10 6301
201 문자열 추출 쉘 스크립트... 제비게릴라 2014-09-25 5212
200 Partition 1 does not start on physical sector boundary. 메세지 삭제... 제비게릴라 2014-08-28 5761
199 vi 치환 명령 제비게릴라 2014-03-12 5524
198 프로세스 별 Disk I/O 확인 방법 (block_dump) [1] 제비게릴라 2013-07-16 6468
197 logger 옵션... 제비게릴라 2013-05-27 5421
196 vsftpd 시간 맞추기... 제비게릴라 2013-05-27 5460
195 Linux Kernel Tuning 제비게릴라 2013-03-21 6457