以编程方式修改Linux内核路由表

时间:2014-06-11 21:44:54

标签: linux-kernel routing

在浏览/ proc时,我正在/proc/net/fib_trie,它似乎有内核的主路由表。我的问题是,如果修改它会改变路由表,还是只有统计文件?

(我想以编程方式修改路由表,我在C中总是noob,所以寻找其他选项。文件修改在任何语言都很容易)

another question中,评论中提及的MattSmith修改文件/proc/net/route并使用 ioctls 是一种解决方案,有人可以指导我如何操作吗?< / p>

1 个答案:

答案 0 :(得分:2)

  

我的问题是,如果修改它会改变路由表,或者它是   仅限统计文件?

不,路由表不会因文件是只读而改变。

  

在另一个问题中,马特史密斯在评论中提到修改   文件/ proc / net / route和使用ioctls是一个解决方案,可以有人   请指导我怎么样?

从用户空间的角度来看,您可以使用netlink套接字来管理路由表。 看一些C example。但是,新手很难。

所以最简单的方法是使用ip实用程序(事实上它使用netlink套接字)。这样,您就可以实现自己的shell脚本并在其中执行路由操作。您可以搜索 ip 工具的正确usage