我尝试用谷歌搜索了一段时间,但我无法将我的问题转化为好的搜索查询,所以我无法找到我想要做的答案。
现在开始:我有 3 台 PC 尝试连接到我自己的子网。其中一台已经连接到外部网络并具有互联网连接。这是我的配置:
- PC1:有两个网卡,
- eth0 的 DHCP IP 为 192.168.0.11,网关为 192.168.0.1,DNS 自动设置为 1.1.1.1、8.8.8.8、1.0.0.1、4.4.4.4。这是外部网络。
- eth1 具有静态 IP 192.168.70.1,我将网关设置为 192.168.0.11(eth0 的 IP),我没有设置 DNS。
- PC2:具有静态 IP 192.168.70.2。网关为 192.168.70.1。无 DNS。
- PC3:具有静态 IP 192.168.70.2。网关为 192.168.70.1。无 DNS。
现在两个网络运行良好。除了上网之外,我可以 ssh、ping 和做其他任何我需要做的事情。所以我的问题如下:
- 如何在 PC1-eth1 上设置网关,使其从内部网络转发到外部网络?我当前的解决方案不起作用。
- 如何设置 PC1-eth1、PC2 和 PC3 的 DNS?我只需将其设置为 8.8.8.8,网关就会处理 DNS 请求吗?还是我必须设置 DNS 服务器?!
三台机器都使用 Ubuntu 18.04。
答案1
经过大量令人疲惫的搜索,我发现了这个:https://help.ubuntu.com/community/Internet/ConnectionSharing#Ubuntu_Internet_Gateway_Method_.28iptables.29
它描述了如何通过两个 NIC 在不同网络之间进行此类转发。这正是我所寻找的。