You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hetzner云环境下私有网络主机通过同网段带公网主机上网的配置问题求助

Hetzner云环境下私有网络主机通过同网段带公网主机上网的配置问题求助

我是个网络新手,最近遇到了个棘手的问题:想让一台只有私有网络连接的主机,通过另一台同时拥有公网和私有网络连接的主机共享上网,现在卡壳了,想请教大家怎么解决。

先给大家说下我的网络环境:

  • 私有网段是10.0.0.0/16,其中用的子网是10.0.0.0/24
  • 私有网络里有两台主机:
    • 私有主机(我叫它private):只有一个ens10接口,IP是10.0.0.3
    • 网关主机(我叫它gateway):ens10接口的IP是10.0.0.2,另外还有个eth0接口配了公网IP1.2.3.4,这台主机能正常访问互联网

我已经做了这些配置:
在gateway主机上,我用root权限执行了以下操作:

  • 开启IP转发:sysctl -w net.ipv4.ip_forward=1
  • 配置了iptables的NAT和转发规则:
    iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
    iptables -A FORWARD -i eth1 -o ens10 -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A FORWARD -i ens10 -o eth1 -j ACCEPT
    

然后在private主机上,我尝试添加默认网关指向gateway的私有IP,结果出问题了:

  • 用route add default gw 10.0.0.2命令,得到报错:SIOCADDRT: Network is unreachable
  • 换用ip命令试试:ip route add default via 10.0.0.2,还是报错:Error: Nexthop has invalid gateway.

我现在的疑问是:

怎么才能让private主机的所有流量通过10.0.0.2转发出去上网?或者我在某台主机的配置步骤里哪里弄错了?

补充下:我的私有网络是在Hetzner云平台上的,private主机默认的路由配置是这样的:

10.0.0.0/16 via 10.0.0.1 dev ens10
10.0.0.1 dev ens10 scope link
xx.yy.169.254 via 10.0.0.1 dev ens10

备注:内容来源于stack exchange,提问作者user1560141

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 12:03:08