我正在运行Debian Bullseye v 11
,并且正在尝试设置0.0.0.0/0
Internet 访问的默认路由动态主机配置协议启用接口eth0
。
接口eth0
正在从 ISP 获取 IP 地址并且接口eth1
是动态主机配置协议为客户端分配地址。我需要客户能够访问互联网。
我尝试过在网上看到的各种配置,例如route add 0.0.0.0/0 gw {hostname} dev eth0
等,但似乎没有任何效果。
ip route
default via 71.182.224.1 dev eth0 proto dhcp src 71.182.224.241 metric 100
10.10.57.0/24 dev eth1 proto kernel scope link src 10.10.57.1
71.182.224.0/24 dev eth0 proto kernel scope link src 71.182.224.241 metric 100
根据我被引导到的文章,我现在也在 Linux 服务器上启用了 IP 转发(路由):
sysctl net.ipv4.ip_forward = 1
但客户端机器仍然无法通过Linux服务器访问Internet。他们可以 ping 通 Linux 服务器上的 eth0 和 eth1 接口,但无法 ping 通更远的地方。根据我使用 Cisco 路由器的经验,需要有一条类似以下的路由:
0.0.0.0 0.0.0.0 [1/0] via 71.182. 224.241, outside
我知道如何在 Cisco 路由器上执行此操作,但我对 Linux 感到困惑。不幸的是,我从未使用过 Linux 服务器作为路由器,所以我不知道正确的路由表是什么样的。但我一定错过了一些阻止客户端工作站通过 Linux 服务器访问互联网的东西。
有人可以帮助我使用正确的命令行语法吗?
答案1
现代ip route
命令:
ip route add default via <gateway IP>
旧route
命令:
route add default gw <gateway IP>
对于这两个命令,您可以根据dev <network device name>
需要选择添加到末尾。