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
相关产品推荐
相关产品推荐

