Debian-Stil (der einfache Weg):

Debian-Stil (der einfache Weg):

Ich habe zwei Ubuntu-Server:

  • Server 1 (IP: 192.168.10.11) ist online und verbindet sich mit zwei Netzwerkschnittstellen (intern, öffentlich)

  • Server 2 (IP: 192.168.10.10) ohne öffentlichen Zugriff (intern)

Ich versuche, Server1 als Standard-Gateway für Server2 zu verwenden, und Folgendes habe ich getan:

# on online server (Jumpbox)
iptables -t nat -A POSTROUTING -s 192.168.10.10 ! -d 192.168.30.1/24 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

# On offline server
route add default gw 192.168.10.11

Docker ist auf beiden installiert (172.17.0.0)

Sie können sich gegenseitig anpingen, aber von Server2 aus ist es nicht möglich, Google anzupingen.

Antwort1

Debian-Stil (der einfache Weg):

bearbeiten/etc/network/interfaces

iface eth0 inet static
address  10.0.0.1
netmask  255.0.0.0
post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
post-up   iptables -t nat -A POSTROUTING -s '10.0.0.0/8' -o eth0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/8' -o eth0 -j MASQUERADE

Die Lazy-Crontab-Methode:

bearbeiten/etc/crontab

@reboot root "echo 1 > /proc/sys/net/ipv4/ip_forward; iptables -t nat -A POSTROUTING -s '10.0.0.0/8' -o eth0 -j MASQUERADE; iptables -t nat -D POSTROUTING -s '10.0.0.0/8' -o eth0 -j MASQUERADE"

Bash-Stil:

nano /root/allow_lan_nat.sh
Sie müssen das für Sie passende LAN einstellen. Dies könnte beispielsweise
192.168.0.0/24 (ein LAN-Subnetz, Standardklasse C),
192.168.0.0/16 (alle Subnetze von 192.168),
172.16.0.0/16 (Standardklasse B) oder
10.0.0.0/8 (Standardklasse A) sein.

#!/bin/bash
#Ajust the LAN, as above shown
MYLANIP=10.0.0.0/8

#The IFACE that has Internet.
MYINETIFACE=eth0
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s $MYLANIP -o $MYINETIFACE -j MASQUERADE
iptables -t nat -D POSTROUTING -s $MYLANIP -o $MYINETIFACE -j MASQUERADE 

laufenbash /root/allow_lan_nat.sh

Direkte Antwort auf Ihre Frage

Denken Sie daran, dass ich zum Zeitpunkt dieser Antwort die Schnittstelle nicht kenne. Ich gehe also davon aus, dass es sich bei Ihrer Schnittstelle um eine Schnittstelle zum Internet handelt. Andernfalls aktualisieren Sie sie wie oben beschrieben.

echo 1 > /proc/sys/net/ipv4/ip_forward  
iptables -t nat -A POSTROUTING -s '192.168.10.0/24' -o ens3 -j MASQUERADE  
iptables -t nat -D POSTROUTING -s '192.168.10.0/24' -o ens3 -j MASQUERADE  

MERKEN, ens3muss die Internet-Schnittstelle seinAktualisieren Sie es also entsprechend Ihren Anforderungen.

verwandte Informationen