Linux iproute2 和 iptables
我不是在看WireGuard吗,怎么跑到这里来了
在学习WireGuard的时候,发现其中用到了ip rule
命令来根据数据包的fwmark
属性匹配不同的路由表。因为觉得比较神奇(和方便,作为路由器来说),所以就选择了深入一步进行了解。在阅读了一些博客中记载的简单配置实例后,将在Linux中进行路由配置的大致流程记录如下:
需要用到的工具有两个:ipfilter
和ip
。大致流程是首先使用iptables
的mangle
模块(修改网络数据包,可应用于QoS等场景)在系统内部对数据包进行识别和分类(进行标记),然后使用ip rule
命令根据iptables
对数据包进行的分类标记,选择对应的路由表进行合适的包发送操作。
https://kknews.cc/code/gaag6bl.html:
因为
mangle
的处理是优先于nat
和filter
表的,所以相依数据包到达之后先打上标记,之后再通过ip rule
规则,对应的数据包使用相应的路由表进行路由,最后读取路由表信息,将数据包送出网关。
(突然发现没啥要写的了,就这样吧)