데비안 스타일(게으른 방식):

데비안 스타일(게으른 방식):

두 개의 Ubuntu 서버가 있습니다.

  • 서버 1(IP: 192.168.10.11)이 온라인이고 두 개의 네트워크 인터페이스(내부, 공용)에 연결됩니다.

  • 공개 액세스가 없는 서버 2(IP: 192.168.10.10)(내부)

server2의 기본 게이트웨이로 server1을 사용하려고 하는데 다음과 같이 했습니다.

# 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는 둘 다(172.17.0.0)에 설치됩니다.

서로 PING할 수 있지만 server2에서는 Google에 PING을 수행할 수 없습니다.

답변1

데비안 스타일(게으른 방식):

편집하다/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

게으른 Crontab 방식:

편집하다/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"

배쉬 스타일:

nano /root/allow_lan_nat.sh

192.168.0.0/24(1개의 LAN 서브넷, 기본 클래스 C)
192.168.0.0/16(192.168의 모든 서브넷)
172.16.0.0/16(기본 클래스 B)
10.0 등 자신에게 맞는 올바른 LAN을 조정해야 합니다 . 0.0/8(기본 클래스 A)

#!/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 

달리다bash /root/allow_lan_nat.sh

귀하의 질문에 대한 직접적인 답변

이 답변을 말할 때 저는 인터페이스를 모릅니다. 따라서 ens3가 인터넷에 연결된 인터페이스라고 가정하고 그렇지 않으면 위와 같이 업데이트합니다.

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  

주의하세요. ens3인터넷에 연결된 인터페이스여야 합니다.필요에 맞게 업데이트하세요.

관련 정보