{"id":81265,"date":"2020-05-12T01:42:43","date_gmt":"2020-05-11T23:42:43","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/bystryj-routing-i-nat-v-linux"},"modified":"2020-05-12T01:42:43","modified_gmt":"2020-05-11T23:42:43","slug":"bystryj-routing-i-nat-v-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/bystryj-routing-i-nat-v-linux","title":{"rendered":"Schnelles Routing und NAT in Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Angesichts der Ersch\u00f6pfung der IPv4-Adressen stehen viele Netzwerkbetreiber vor der Herausforderung, den Zugang ihrer Kunden \u00fcber Adress\u00fcbersetzung zu erm\u00f6glichen. In diesem Artikel erkl\u00e4re ich, wie Sie Carrier-Grade-NAT-Leistung auf handels\u00fcblichen Servern erzielen k\u00f6nnen.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Ein wenig Geschichte<\/h3>\n<p>\nDas Thema der Ersch\u00f6pfung des IPv4-Adressraums ist l\u00e4ngst nicht neu. Irgendwann entstanden in RIPE Wartelisten, gefolgt von Marktpl\u00e4tzen, auf denen Adressbl\u00f6cke gehandelt und Mietvertr\u00e4ge abgeschlossen wurden. Allm\u00e4hlich begannen die Telekommunikationsanbieter, Internetzugang \u00fcber Adress- und Port\u00fcbersetzung anzubieten. W\u00e4hrend einige nicht genug Adressen erhielten, um jedem Teilnehmer eine 'wei\u00dfe' Adresse zuzuweisen, begannen andere, Kosten zu sparen, indem sie auf den Kauf von Adressen auf dem Sekund\u00e4rmarkt verzichteten. Hersteller von Netzwerkger\u00e4ten unterst\u00fctzten diese Idee, da diese Funktionalit\u00e4t in der Regel zus\u00e4tzliche Erweiterungsmodule oder Lizenzen erfordert. Bei Juniper beispielsweise kann NAPT bei den MX-Routern (au\u00dfer den neuesten MX104 und MX204) auf einer separaten Servicekarte MS-MIC durchgef\u00fchrt werden, w\u00e4hrend f\u00fcr den Cisco ASR1k eine SGN-Lizenz erforderlich ist und f\u00fcr den Cisco ASR9k ein separates Modul A9K-ISM-100 sowie die Lizenz A9K-CGN-LIC erforderlich sind. Insgesamt kostet der Spa\u00df eine Menge Geld.<\/p>\n<h3>IPTables<\/h3>\n<p>\nDie Aufgabe der NAT-Implementierung erfordert keine speziellen Rechenressourcen; sie kann von Standardprozessoren erledigt werden, wie sie beispielsweise in jedem Heimrouter zu finden sind. Im Ma\u00dfstab eines Telekommunikationsanbieters l\u00e4sst sich diese Aufgabe mit Commodity-Servern, die mit FreeBSD (ipfw\/pf) oder GNU\/Linux (iptables) betrieben werden, l\u00f6sen. Wir werden FreeBSD nicht weiter betrachten, da ich seit Langem auf diese OS verzichtet habe, und uns stattdessen auf GNU\/Linux konzentrieren.<\/p>\n<p>Die Aktivierung der Adress\u00fcbersetzung ist ganz unkompliziert. Zuerst m\u00fcssen Sie eine Regel in iptables in der nat-Tabelle festlegen:<\/p>\n<pre><code class=\"bash\">iptables -t nat -A POSTROUTING -s 100.64.0.0\/10 -j SNAT --to - --persistent\n<\/code><\/pre>\n<p>\nDas Betriebssystem l\u00e4dt das Modul nf_conntrack, das alle aktiven Verbindungen \u00fcberwacht und die notwendigen Umwandlungen vornimmt. Dabei gibt es einige Feinheiten. Erstens, da es sich um NAT im Ma\u00dfstab eines Telekommunikationsanbieters handelt, m\u00fcssen die Timeouts angepasst werden, denn mit den Standardwerten w\u00e4chst die Gr\u00f6\u00dfe der Translationstabelle schnell auf katastrophale Werte. Unten finden Sie ein Beispiel f\u00fcr die Einstellungen, die ich auf meinen Servern verwendet habe:<\/p>\n<pre><code class=\"bash\">net.ipv4.ip_forward = 1\nnet.ipv4.ip_local_port_range = 8192 65535\n\nnet.netfilter.nf_conntrack_generic_timeout = 300\nnet.netfilter.nf_conntrack_tcp_timeout_syn_sent = 60\nnet.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60\nnet.netfilter.nf_conntrack_tcp_timeout_established = 600\nnet.netfilter.nf_conntrack_tcp_timeout_fin_wait = 60\nnet.netfilter.nf_conntrack_tcp_timeout_close_wait = 45\nnet.netfilter.nf_conntrack_tcp_timeout_last_ack = 30\nnet.netfilter.nf_conntrack_tcp_timeout_time_wait = 120\nnet.netfilter.nf_conntrack_tcp_timeout_close = 10\nnet.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300\nnet.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300\nnet.netfilter.nf_conntrack_udp_timeout = 30\nnet.netfilter.nf_conntrack_udp_timeout_stream = 60\nnet.netfilter.nf_conntrack_icmpv6_timeout = 30\nnet.netfilter.nf_conntrack_icmp_timeout = 30\nnet.netfilter.nf_conntrack_events_retry_timeout = 15\nnet.netfilter.nf_conntrack_checksum=0\n<\/code><\/pre>\n<p>\nUnd zweitens, da die Standardgr\u00f6\u00dfe der \u00dcbersetzungstabelle nicht f\u00fcr den Betrieb eines Netzwerkbetreibers ausgelegt ist, muss sie erh\u00f6ht werden:<\/p>\n<pre><code class=\"plaintext\">net.netfilter.nf_conntrack_max = 3145728\n<\/code><\/pre>\n<p>\n Es ist auch erforderlich, die Anzahl der Buckets f\u00fcr die Hash-Tabelle, die alle \u00dcbersetzungen speichert (dies ist eine Option des nf_conntrack-Moduls), zu erh\u00f6hen: <\/p>\n<pre><code class=\"plaintext\">options nf_conntrack hashsize=1572864\n<\/code><\/pre>\n<p>\nNach diesen einfachen Schritten entsteht eine funktionierende Konstruktion, die in der Lage ist, eine gro\u00dfe Anzahl an Client-Adressen in einen Pool von externen Adressen zu \u00fcbertragen. Jedoch l\u00e4sst die Leistung dieser L\u00f6sung zu w\u00fcnschen \u00fcbrig. In meinen ersten Versuchen mit GNU\/Linux f\u00fcr NAT (um das Jahr 2013) konnte ich eine Leistung von etwa 7 Gbit\/s bei 0,8 Mpps auf einem Server (Xeon E5-1650v2) erreichen. Seitdem wurden im Netzwerk-Stack des GNU\/Linux-Kernels viele Optimierungen vorgenommen, und die Leistung eines Servers mit derselben Hardware hat sich nahezu auf 18-19 Gbit\/s bei 1,8-1,9 Mpps erh\u00f6ht (das waren die Grenzwerte). Dennoch wuchs der Bedarf an dem Volumen an Datenverkehr, der von einem Server verarbeitet werden kann, weitaus schneller. Schlie\u00dflich wurden Lastverteilungsschemata auf verschiedene Server entwickelt, was jedoch die Komplexit\u00e4t der Einrichtung, Wartung und Gew\u00e4hrleistung der Dienstleistungsqualit\u00e4t erh\u00f6hte.<\/p>\n<h3>NFTables<\/h3>\n<p>\nEin derzeit beliebter Trend im Bereich der Programmierung von \"Paketverlagerungen\" ist die Verwendung von DPDK und XDP. Zu diesem Thema sind zahlreiche Artikel verfasst worden, es gab viele verschiedene Pr\u00e4sentationen, und kommerzielle Produkte wie SKAT von VasExperts erscheinen. Doch in Anbetracht der begrenzten Ressourcen an Programmierern bei den Telekommunikationsanbietern ist es ziemlich problematisch, selbstst\u00e4ndig etwas auf Basis dieser Frameworks zu entwickeln. Ein solches L\u00f6sungssystem sp\u00e4ter zu betreiben wird erheblich komplizierter, da unter anderem Diagnosewerkzeuge entwickelt werden m\u00fcssen. Beispielsweise wird das Standardwerkzeug tcpdump mit DPDK nicht einfach funktionieren, und die Pakete, die mit XDP zur\u00fcck in die Leitungen gesendet werden, kann es nicht \"sehen\". Vor dem Hintergrund aller Diskussionen \u00fcber neue Technologien zur Packet-Forwarding im User-Space sind unbemerkt geblieben <noindex><a rel=\"nofollow\" href=\"https:\/\/netdevconf.info\/0x13\/session.html?workshop-netfilter-mini\">Berichte<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/738214\/\">einem Artikel<\/a><\/noindex> von Pablo Neira Ayuso, dem Maintainer von iptables, \u00fcber die Entwicklung von Flow Offloading in nftables. Lassen Sie uns diesen Mechanismus n\u00e4her betrachten.<\/p>\n<p>Die grunds\u00e4tzliche Idee ist, dass wenn ein Router Pakete einer Sitzung in beide Richtungen des Stroms durchl\u00e4sst (die TCP-Sitzung befindet sich im Zustand ESTABLISHED), es nicht notwendig ist, nachfolgende Pakete dieser Sitzung durch alle Firewall-Regeln zu lassen, da all diese Pr\u00fcfungen sowieso damit enden, dass das Paket weiter zum Routing weitergeleitet wird. Und tats\u00e4chlich muss die Routenwahl nicht mehr durchgef\u00fchrt werden \u2013 wir wissen bereits, auf welches Interface und an welchen Host die Pakete innerhalb dieser Sitzung weitergeleitet werden m\u00fcssen. Es bleibt nur, diese Informationen zu speichern und sie fr\u00fchzeitig bei der Paketverarbeitung f\u00fcr das Routing zu verwenden. Bei der Durchf\u00fchrung von NAT muss zus\u00e4tzlich die Information \u00fcber die \u00c4nderungen der Adressen und Ports, die durch das nf_conntrack-Modul umgewandelt wurden, gespeichert werden. Ja, nat\u00fcrlich funktionieren in diesem Fall verschiedene Policer und andere informationsstatistische Regeln in iptables nicht mehr, aber im Rahmen der Aufgabe eines einzelnen NAT oder beispielsweise eines Borders ist das nicht so wichtig, da die Dienste auf verschiedene Ger\u00e4te verteilt sind.<\/p>\n<h4>Konfiguration<\/h4>\n<p>\nUm diese Funktion nutzen zu k\u00f6nnen, m\u00fcssen wir:<\/p>\n<ul>\n<li>Verwenden Sie einen aktuellen Kernel. Obwohl diese Funktionalit\u00e4t bereits im Kernel 4.16 verf\u00fcgbar war, war sie lange Zeit sehr \"roh\" und f\u00fchrte regelm\u00e4\u00dfig zu Kernel-Paniken. Stabilisiert hat sich alles ungef\u00e4hr im Dezember 2019, als die LTS-Kernels 4.19.90 und 5.4.5 ver\u00f6ffentlicht wurden.<\/li>\n<li>Schreiben Sie die iptables-Regeln ins nftables-Format um, indem Sie eine ausreichend aktuelle Version von nftables verwenden. Funktioniert in Version 0.9.0 einwandfrei.<\/li>\n<\/ul>\n<p>\nWenn der erste Punkt im Grunde klar ist, ist es wichtig, das Modul bei der Konfiguration w\u00e4hrend des Kompilierens einzuschlie\u00dfen (CONFIG_NFT_FLOW_OFFLOAD=m). Der zweite Punkt ben\u00f6tigt jedoch eine Erkl\u00e4rung. Die Regeln von nftables werden ganz anders beschrieben als in iptables. <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.nftables.org\/wiki-nftables\/index.php\/Main_Page\">Dokumentation<\/a><\/noindex> deckt praktisch alle Punkte ab, zudem gibt es spezielle <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.nftables.org\/wiki-nftables\/index.php\/Moving_from_iptables_to_nftables\">Konverter<\/a><\/noindex> von iptables zu nftables. Daher werde ich nur ein Beispiel f\u00fcr die NAT- und Flow-Offload-Konfiguration geben. Eine kleine Legende f\u00fcr das Beispiel: <i>,  \u2013 dies sind die Netzwerkinterfaces, \u00fcber die der Datenverkehr l\u00e4uft; tats\u00e4chlich k\u00f6nnen es mehr als zwei sein. , \u2013 die Anfangs- und Endadresse des Bereichs der \"wei\u00dfen\" Adressen.<\/p>\n<p>Die NAT-Konfiguration ist sehr einfach:<\/p>\n<pre><code class=\"bash\">#! \/usr\/sbin\/nft -f\n\ntable nat {\n        chain postrouting {\n                type nat hook postrouting priority 100;\n                oif &lt;o_if&gt; snat to &lt;pool_addr_start&gt;-&lt;pool_addr_end&gt; persistent\n        }\n}\n<\/code><\/pre>\n<p>\nMit dem Flow-Offload ist es etwas komplizierter, aber durchaus verst\u00e4ndlich:<\/p>\n<pre><code class=\"bash\">#! \/usr\/sbin\/nft -f\n\ntable inet filter {\n        flowtable fastnat {\n                hook ingress priority 0\n                devices = { &lt;i_if&gt;, &lt;o_if&gt; }\n        }\n\n        chain forward {\n                type filter hook forward priority 0; policy accept;\n                ip protocol { tcp , udp } flow offload @fastnat;\n        }\n}\n<\/code><\/pre>\n<p>\nDas ist eigentlich die ganze Einrichtung. Jetzt wird der gesamte TCP\/UDP Verkehr in die fastnat-Tabelle geleitet und viel schneller verarbeitet.<\/p>\n<h3>Ergebnisse<\/h3>\n<p>\nUm zu verdeutlichen, wie viel \u00abschneller\u00bb es tats\u00e4chlich ist, f\u00fcge ich einen Screenshot der Last zweier realer Server bei, die mit identischen Komponenten (Xeon E5-1650v2), gleich konfiguriert und dasselbe Linux-Kernel verwenden, jedoch NAT \u00fcber iptables (NAT4) und nftables (NAT5) durchf\u00fchren.<\/p>\n<p><img decoding=\"async\" alt=\"Schnelles Routing und NAT in Linux\" src=\"\/wp-content\/uploads\/2020\/05\/94bd3f58bf499ceb9837cd771cc9ef9f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIm Screenshot fehlt das Diagramm der Pakete pro Sekunde, aber im Lastprofil dieser Server liegt die durchschnittliche Paketgr\u00f6\u00dfe bei etwa 800 Bytes, wodurch Werte von bis zu 1,5 Mpps erreicht werden. Wie zu sehen ist, hat der Server mit nftables eine enorme Leistungskapazit\u00e4t. Momentan verarbeitet dieser Server bis zu 30 Gbit\/s bei 3 Mpps und ist eindeutig in der Lage, das physische Limit des Netzwerks von 40 Gbps zu erreichen, w\u00e4hrend er dabei \u00fcber ausreichende CPU-Ressourcen verf\u00fcgt.<\/p>\n<p>Ich hoffe, dieses Material wird Netzwerkingenieuren n\u00fctzlich sein, die versuchen, die Leistung ihrer Server zu verbessern.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/501234\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e \u043c\u0435\u0440\u0435 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043e\u0432 IPv4, \u043c\u043d\u043e\u0433\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0432\u044f\u0437\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c\u044e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0441\u0432\u043e\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0432 \u0441\u0435\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u0432. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u0440\u043e\u0432\u043d\u044f Carrier Grade NAT \u043d\u0430 commodity \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445. \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0422\u0435\u043c\u0430 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 IPv4 \u0443\u0436\u0435 \u043d\u0435 \u043d\u043e\u0432\u0430. \u0412 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u0432 RIPE \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81266,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-81265","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e \u043c\u0435\u0440\u0435 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043e\u0432 IPv4, \u043c\u043d\u043e\u0433\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0432\u044f\u0437\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c\u044e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0441\u0432\u043e\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0432 \u0441\u0435\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u0432. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u0440\u043e\u0432\u043d\u044f Carrier Grade NAT \u043d\u0430 commodity \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445. \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0422\u0435\u043c\u0430 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 IPv4 \u0443\u0436\u0435 \u043d\u0435 \u043d\u043e\u0432\u0430. \u0412 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u0432 RIPE \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/bystryj-routing-i-nat-v-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0440\u043e\u0443\u0442\u0438\u043d\u0433 \u0438 NAT \u0432 Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e \u043c\u0435\u0440\u0435 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043e\u0432 IPv4, \u043c\u043d\u043e\u0433\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0432\u044f\u0437\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c\u044e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0441\u0432\u043e\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0432 \u0441\u0435\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u0432. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u0440\u043e\u0432\u043d\u044f Carrier Grade NAT \u043d\u0430 commodity \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445. \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0422\u0435\u043c\u0430 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 IPv4 \u0443\u0436\u0435 \u043d\u0435 \u043d\u043e\u0432\u0430. \u0412 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u0432 RIPE \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/bystryj-routing-i-nat-v-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-11T23:42:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-11T23:42:43+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Schnelles Routing und NAT in Linux | ProHoster","description":"Mit dem Ersch\u00f6pfen der IPv4-Adressen stehen viele Internetanbieter vor der Herausforderung, ihren Kunden den Zugang zum Netz \u00fcber Adress\u00fcbersetzung zu erm\u00f6glichen. In diesem Artikel erl\u00e4utere ich, wie man Carrier Grade NAT-Leistung auf Commodity-Servern erzielen kann. Ein kleiner R\u00fcckblick: Das Thema der Ersch\u00f6pfung des IPv4-Adressraums ist nicht neu. Irgendwann gab es in RIPE Warteschlangen.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/bystryj-routing-i-nat-v-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0440\u043e\u0443\u0442\u0438\u043d\u0433 \u0438 NAT \u0432 Linux | ProHoster","og:description":"\u041f\u043e \u043c\u0435\u0440\u0435 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043e\u0432 IPv4, \u043c\u043d\u043e\u0433\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u0432\u044f\u0437\u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c\u044e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u0441\u0432\u043e\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0432 \u0441\u0435\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u0432. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u0440\u043e\u0432\u043d\u044f Carrier Grade NAT \u043d\u0430 commodity \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445. \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0422\u0435\u043c\u0430 \u0438\u0441\u0447\u0435\u0440\u043f\u0430\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 IPv4 \u0443\u0436\u0435 \u043d\u0435 \u043d\u043e\u0432\u0430. \u0412 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u0432 RIPE \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/bystryj-routing-i-nat-v-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-11T23:42:43+00:00","article:modified_time":"2020-05-11T23:42:43+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81265","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:01:23","updated":"2022-09-28 04:47:17"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/81265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=81265"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/81265\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/81266"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=81265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=81265"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=81265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}