Skip to main content

Ubuntu IP Masquerading

Using Linux as a NAT Masquerade Router (Juni 2026)

Using Linux as a NAT Masquerade Router (Juni 2026)
Anonim

Syftet med IP Masquerading är att tillåta maskiner med privata, icke-routbara IP-adresser på ditt nätverk för att komma åt Internet via maskinen som gör masquerading. Trafiken från ditt privata nätverk som är avsedd för Internet måste manipuleras för att svaren ska kunna ruttas tillbaka till den maskin som gjorde begäran. För att göra detta måste kärnan ändra källa IP-adress för varje paket så att svaren kommer att dirigeras tillbaka till det, snarare än till den privata IP-adress som gjorde begäran, vilket är omöjligt över Internet. Linux använder Anslutningsspårning (conntrack) för att hålla reda på vilka anslutningar som hör till vilka maskiner och omdirigera varje returpaket i enlighet därmed. Trafik som lämnar ditt privata nätverk är således "masqueraded" som har sitt ursprung i din Ubuntu gateway maskin. Denna process hänvisas till i Microsoft-dokumentation som delning av Internet-anslutning.

Instruktioner för IP Masquerading

Detta kan åstadkommas med en enda iptables-regel, som kan skilja sig något beroende på din nätverkskonfiguration:

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE

Ovanstående kommando förutsätter att ditt privata adressutrymme är 192.168.0.0/16 och att din Internet-vända enhet är ppp0. Syntaxen är uppdelad enligt följande:

  • -tatten - regeln är att gå in i natbordet
  • -A POSTROUTING - regeln ska bifogas (-A) till POSTROUTING-kedjan
  • -s 192.168.0.0/16 - regeln gäller trafik som kommer från det angivna adressutrymmet
  • -o ppp0 - regeln gäller trafik som ska skickas via den angivna nätverksenheten
  • -j MASQUERADE - Trafik som matchar denna regel är att "hoppa" (-j) till MASQUERADE-målet som ska manipuleras enligt beskrivningen ovan

Varje kedja i filterbordet (standardtabellen, och där mest eller allt paketfiltrering inträffar) har en standard politik av ACCEPT men om du skapar en brandvägg utöver en gateway-enhet kan du ha ställt in policyerna till DROP eller REJECT, i vilket fall din masqueradeed trafik måste tillåtas genom FORWARD-kedjan för att ovanstående regel ska fungera:

sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.0/16 -m state -state Upprättad, relaterad -i ppp0 -j ACCEPT

Ovanstående kommandon tillåter alla anslutningar från ditt lokala nätverk till Internet och all trafik som är relaterad till dessa anslutningar för att återvända till den maskin som initierade dem.

* Licens

* Ubuntu Server Guide Index