我已经寻找过,但我尝试过的一切都不起作用
我有两台 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
,我想通过机器 2 将机器 1 连接到互联网。
如果重要的话,这些是在 Windows 10 主机上的 VirtualBox 中运行的虚拟机。
我怎样才能做到呢?谢谢。
答案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