FreeBSD系统可以当作一台路由器来使用,实际上当年路由器刚刚出来的时候,有很大一部分就是用主机安装FreeBSD来提供路由功能的。
路由的基础知识
路由,就是计算机网络中决定数据包从源地址到目的地址路径的一种传输过程。路由表,就是告诉数据包传输路径的一张表,从表中可以查出任何一个ip数据包的下一个接收方是谁,然后路由模块就将该数据送到下一个接收方。
如何查看路由表
可以使用netstat -rn来查看:
netstat -rn
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 192.168.0.1 UGS wlan0
127.0.0.1 link#2 UH lo0
192.168.0.0/24 link#3 U wlan0
192.168.0.107 link#3 UHS lo0
比如从这张表里,就可以知道,默认路由的网关是192.168.0.1 ,也就是默认数据包就送到这个ip地址的设备。
配置路由:
基本语法就是route add ,比如我们想让目标到192.168.5.0/24这个网段的数据都从192.168.0.2 走,那么可以写成:
root@x250:~ # route add 192.168.5.0/24 192.168.0.2
add net 192.168.5.0: gateway 192.168.0.2
root@x250:~ # netstat -rn
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 192.168.0.1 UGS wlan0
127.0.0.1 link#2 UH lo0
192.168.0.0/24 link#3 U wlan0
192.168.0.107 link#3 UHS lo0
192.168.5.0/24 192.168.0.2 UGS wlan0
删除路由
使用route del命令,如删除前面添加的192.168.5.0/24目标网段的路由:
route del 192.168.5.0/24