{"id":1421,"date":"2014-09-24T13:38:37","date_gmt":"2014-09-24T11:38:37","guid":{"rendered":"http:\/\/blog.techmedia.pl\/?p=1421"},"modified":"2016-11-30T12:11:05","modified_gmt":"2016-11-30T11:11:05","slug":"ubuntu-ipv4-neighbour-table-overflow-problem","status":"publish","type":"post","link":"https:\/\/www.techmedia.pl\/blog\/ubuntu-ipv4-neighbour-table-overflow-problem\/","title":{"rendered":"Ubuntu IPv4 Neighbor table overflow problem"},"content":{"rendered":"<p>W przypadku gdy mamy du\u017c\u0105 sie\u0107 lub nasz serwer pracuje jako router w logach mo\u017ce pojawi\u0107 si\u0119 komunikat<\/p>\n<pre>kernel: [138585.922764] IPv4: Neighbour table overflow<\/pre>\n<p>Rozwi\u0105zaniem tego problemu jest zwi\u0119kszenie odpowiednio prog\u00f3w w tablicy neighbour zwanej r\u00f3wnie\u017c tablic\u0105 ARP.<\/p>\n<p>Aktualne poziomy sprawdzamy poleceniem:<\/p>\n<pre>grep . \/proc\/sys\/net\/ipv4\/neigh\/default\/gc_thresh*<\/pre>\n<p>powinni\u015bmy otrzyma\u0107 wyniki podobne do poni\u017cszych:<!--more--><\/p>\n<pre>\/proc\/sys\/net\/ipv4\/neigh\/default\/gc_thresh1:128\r\n\/proc\/sys\/net\/ipv4\/neigh\/default\/gc_thresh2:512\r\n\/proc\/sys\/net\/ipv4\/neigh\/default\/gc_thresh3:1024<\/pre>\n<p>Po zape\u0142nieniu tabeli ARP i przekroczeniu progu gc_thresh1, system zwi\u0119kszy jej wielko\u015b\u0107 do drugiego progu gc_thresh2 i ustawi polityk\u0119 czyszczenia tabli ARP na bardziej agresywn\u0105. Trzeci pr\u00f3b gc_thresh3 jest twardym limitem, kt\u00f3ry nie pozwala zwi\u0119kszy\u0107 wielko\u015bci tablicy ponad t\u0105 warto\u015b\u0107. W przypadku zape\u0142nienia tablicy o wielko\u015bci poziomu 3 pojawia si\u0119 powy\u017cszy komunikat w logach.<\/p>\n<p>W takim przypadku nale\u017cy zwi\u0119kszy\u0107 odpowiednio progi do nast\u0119pnego poziomu:<\/p>\n<p>128 -&gt; 256, 512 -&gt; 1024, 2014 -&gt; 2048 poni\u017cszym poleceniem:<\/p>\n<pre>echo 256 &gt; \/proc\/sys\/net\/ipv4\/neigh\/default\/gc_thresh1\r\necho 1024 &gt; \/proc\/sys\/net\/ipv4\/neigh\/default\/gc_thresh2\r\necho 2048 &gt; \/proc\/sys\/net\/ipv4\/neigh\/default\/gc_thresh3<\/pre>\n<p>Za jaki\u015b czas mo\u017ce si\u0119 okaza\u0107, \u017ce nowe poziomy s\u0105 r\u00f3wnie\u017c nie wystarczaj\u0105ce, wtedy zwi\u0119kszamy je ponownie do nast\u0119pnych warto\u015bci.<\/p>\n<p>Powy\u017csza zmiana b\u0119dzie obowi\u0105zywa\u0142a tylko do ponownego uruchomienia systemu. Aby zachowa\u0107 ustawienia po jego restarcie, nale\u017cy doda\u0107 poni\u017csze wpisy do pliku \/etc\/sysctl.conf:<\/p>\n<p>net.ipv4.neigh.default.gc_thresh1 = 256<br \/> net.ipv4.neigh.default.gc_thresh2 = 1024<br \/> net.ipv4.neigh.default.gc_thresh3 = 2048<\/p>\n<p>Istnieje taka mo\u017cliwo\u015b\u0107, \u017ce po aktualizacji systemu plik \/etc\/sysctl.conf zostanie nadpisany domy\u015blnymi warto\u015bciami. Warto sprawdzi\u0107 go po aktualizacji, \u017ceby unikn\u0105\u0107 ponownego przepe\u0142nienia tablicy ARP.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>W przypadku gdy mamy du\u017c\u0105 sie\u0107 lub nasz serwer pracuje jako router w logach mo\u017ce pojawi\u0107 si\u0119 komunikat kernel: [138585.922764] IPv4: Neighbour table overflow Rozwi\u0105zaniem tego problemu jest zwi\u0119kszenie odpowiednio prog\u00f3w w tablicy neighbour zwanej r\u00f3wnie\u017c tablic\u0105 ARP. Aktualne poziomy sprawdzamy poleceniem: grep . \/proc\/sys\/net\/ipv4\/neigh\/default\/gc_thresh* powinni\u015bmy otrzyma\u0107 wyniki podobne do poni\u017cszych:<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[277,62,161,106],"yst_prominent_words":[],"_links":{"self":[{"href":"https:\/\/www.techmedia.pl\/blog\/wp-json\/wp\/v2\/posts\/1421"}],"collection":[{"href":"https:\/\/www.techmedia.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.techmedia.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.techmedia.pl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.techmedia.pl\/blog\/wp-json\/wp\/v2\/comments?post=1421"}],"version-history":[{"count":3,"href":"https:\/\/www.techmedia.pl\/blog\/wp-json\/wp\/v2\/posts\/1421\/revisions"}],"predecessor-version":[{"id":2082,"href":"https:\/\/www.techmedia.pl\/blog\/wp-json\/wp\/v2\/posts\/1421\/revisions\/2082"}],"wp:attachment":[{"href":"https:\/\/www.techmedia.pl\/blog\/wp-json\/wp\/v2\/media?parent=1421"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.techmedia.pl\/blog\/wp-json\/wp\/v2\/categories?post=1421"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.techmedia.pl\/blog\/wp-json\/wp\/v2\/tags?post=1421"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/www.techmedia.pl\/blog\/wp-json\/wp\/v2\/yst_prominent_words?post=1421"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}