MacOS开启路由转发功能

分类:网络 |


好多年没有操作配置过路由表了, 今天同事需要这方面的知识, 回顾一下: 


查看路由: 

netstat -r


route add 180.101.50.188 mask 255.255.255.0 172.20.35.230


sudo route delete 180.101.50.188 172.20.35.230




如果指定的IP不是网关, 而是个人电脑, 可以通过开启路由转发功能达到路由的目的: 


执行下面命令即可:

 sudo sysctl -w net.inet.ip.forwarding=1


这种做法将在机器下次重启后失效,如果想要永久保存,编辑文件/etc/sysctl.conf,配置下面变量:

   net.inet.ip.forwarding=1



Mac如何查看路由

更新:2023-05-20 01:31

路由是指在网络内部通过分组交换建立起来的一种连通性,除了基本的寻址功能之外还具有策略控制和运营优化等功能。在进行网络故障排除、网络分析或者网络性能优化时,了解路由信息十分重要。本文将从几个方面介绍如何在Mac中查看路由,帮助读者更好地理解和利用路由信息。

一、查看当前路由表

Mac中可以通过终端命令来查看当前机器的路由表,同样也可以列出其它网络设备的路由表。

在终端输入下面的命令可以查看当前路由表:

netstat -rn

命令输出结果会列出当前机器的路由表,包括目标网络、网关、接口名称、跃点数等信息。例如:

Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.1.1        UGSc           18        0     en0
10.10.0.0/24       10.10.0.1          UGSc            0        0     en1
10.10.0.2          ff:ff:ff:ff:ff:ff  UHLWbI          2       56     en1
192.168.1.0/24     link#4             UCS             4        0     en0
192.168.1.1        0:11:22:33:44:55   UHLWIir        19      358     en0   1190
192.168.1.255      ff:ff:ff:ff:ff:ff  UHLWbI          2      889     en0

其中default表示默认网关,10.10.0.0/24表示编号为10.10.0.0的网络,192.168.1.0/24表示编号为192.168.1.0的网络。

二、查看传输路由

有时候我们需要检查两台机器之间的传输路由,可以通过traceroute命令来实现。

在终端输入下面的命令可以检测指定目标IP的传输路由:

traceroute [目标IP]

命令输出结果会显示出从当前机器到目标IP的所有中间经过路由器的IP地址和跳数,例如:

traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 52 byte packets
 1  core-gateway (192.168.1.1)  8.180 ms  3.015 ms  2.182 ms
 2  10.14.62.1 (10.14.62.1)  2.830 ms  2.828 ms  2.609 ms
 3  * * *
 4  61.138.61.105 (61.138.61.105)  95.101 ms  90.729 ms  92.251 ms
 5  61.138.61.106 (61.138.61.106)  89.993 ms  91.199 ms  89.842 ms
 6  61.138.61.174 (61.138.61.174)  88.907 ms  89.026 ms  88.910 ms
 7  202.97.69.77 (202.97.69.77)  93.163 ms  93.893 ms  98.784 ms
 8  209.85.240.126 (209.85.240.126)  99.447 ms  99.214 ms  95.921 ms
 9  108.170.233.126 (108.170.233.126)  207.782 ms 108.170.233.146 (108.170.233.146)  192.399 ms  207.775 ms
10  108.170.235.68 (108.170.235.68)  305.047 ms 72.14.236.81 (72.14.236.81)  294.958 ms 108.170.235.68 (108.170.235.68)  306.182 ms
11  dns.google (8.8.8.8)  301.210 ms  292.035 ms  292.335 ms

其中数字表示跳数,IP地址表示相应路由器的IP地址,* * *表示该跳被丢弃。

三、设置路由

在一些情况下,我们需要手动设置路由规则,可以通过route命令实现。例如,在连接VPN时需要设置路由,以便让某些流量路由到VPN通道中。

在终端输入下面的命令可以手动设置路由:

sudo route add [目标网络] [网关IP]

其中目标网络可以是一个IP地址或者一段IP地址范围,例如10.10.0.0/24表示10.10.0.0到10.10.0.255这一段的网络,网关IP是目标网络的下一跳路由器IP地址。

例如,在连接VPN时,需要把所有流量路由到VPN通道中,可以输入以下命令:

sudo route add -net 0.0.0.0 [VPN网关IP]

其中0.0.0.0表示所有流量,[VPN网关IP]是VPN通道的IP地址。设置完成后,所有数据包会被路由到VPN通道中。

四、小结

本文介绍了几种查看和设置路由的方法,包括查看当前路由表、查看传输路由、手动设置路由。这些方法可以帮助我们了解网络中不同设备之间的连通情况,也可以让我们更好地利用路由信息进行网络性能优化。