
Я искал, но все, что я пробовал, не работает.
У меня две машины с Centos,Машина 1сenp0s3( 192.168.56.99 IP
), иМашина 2с (enp0s8 192.168.56.101
иenp0s3 10.0.2.15 IPs
). Как вы видите, моя внутренняя сеть — это 192.168.56.0/24
, и я хочу подключить Машину 1 к Интернету через Машину 2.
Если это важно, это виртуальные машины, работающие в VirtualBox на хосте Windows 10.
Как я мог это сделать? Спасибо.
решение1
iptables
должен быть вашим другом для вашего шлюзового компьютера, например, настроенным аналогичноэто руководство Debian по настройке шлюза, который использует eth0 в качестве внутренней сетевой карты и eth1 в качестве внешнего адреса, а затем предоставляет следующий скрипт:
#!/bin/sh
# run as root
#
# delete all existing rules.
#
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
# Always accept loopback traffic
iptables -A INPUT -i lo -j ACCEPT
# Allow established connections, and those not coming from the outside
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
# Masquerade.
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# Don't forward from the outside to the inside.
iptables -A FORWARD -i eth1 -o eth1 -j REJECT
# Enable routing.
echo 1 > /proc/sys/net/ipv4/ip_forward