![尝试在 Bash 中找出添加路由以屏蔽到路由器/网关的 IP](https://linux22.com/image/1282856/%E5%B0%9D%E8%AF%95%E5%9C%A8%20Bash%20%E4%B8%AD%E6%89%BE%E5%87%BA%E6%B7%BB%E5%8A%A0%E8%B7%AF%E7%94%B1%E4%BB%A5%E5%B1%8F%E8%94%BD%E5%88%B0%E8%B7%AF%E7%94%B1%E5%99%A8%2F%E7%BD%91%E5%85%B3%E7%9A%84%20IP.png)
甚至不确定我是否表述正确,但这就是我大致想做的事情。
取一个 IP 地址,例如:192.168.100.0
并将其掩码为255.255.255.0
,然后将该路由的网关设置为另一个 IP 地址。
我在 Mac OS X 上使用 bash。
另外,我工作中的 IT 部门遇到了一个问题,即 Mac 电脑在连接到具有多个网关/路由器的网络时会遇到问题。我们的想法是创建一个脚本来检查它连接到哪个子网。如果是具有多个网关的子网,那么我们需要添加额外的路由规则以确保正确通信。
它有几个不同的 IP,所有 IP 都会被屏蔽到255.255.255.0
,并且都屏蔽到同一个路由器 IP。
例如:
192.168.100.0 mask 255.255.255.0 router/gateway 192.168.160.1
192.168.120.0 mask 255.255.255.0 router/gateway 192.168.160.1
ETC…
答案1
为了eth0
:
sudo ifconfig en0 192.168.100.0 netmask 255.255.255.0
route add default 192.168.100.1
如果不是默认路由,则可能需要进行调整。
编辑:修复了路由。另外,除非您知道自己在做什么,否则通常不要在网络中的节点上使用零地址。
答案2
我跟我哥哥谈过这件事,他在工作中负责网络工作,并给他发了原始电子邮件。看来我解释得相当糟糕,我道歉。但本质上,这就是我所寻找的:
route add 192.168.100.0 netmask 255.255.255.0 gw $RouterIP
添加其他路线。