标签: linux-kernel routing
在浏览/ proc时,我正在/proc/net/fib_trie,它似乎有内核的主路由表。我的问题是,如果修改它会改变路由表,还是只有统计文件?
/proc/net/fib_trie
(我想以编程方式修改路由表,我在C中总是noob,所以寻找其他选项。文件修改在任何语言都很容易)
在another question中,评论中提及的MattSmith修改文件/proc/net/route并使用 ioctls 是一种解决方案,有人可以指导我如何操作吗?< / p>
/proc/net/route
答案 0 :(得分:2)
我的问题是,如果修改它会改变路由表,或者它是 仅限统计文件?
不,路由表不会因文件是只读而改变。
在另一个问题中,马特史密斯在评论中提到修改 文件/ proc / net / route和使用ioctls是一个解决方案,可以有人 请指导我怎么样?
从用户空间的角度来看,您可以使用netlink套接字来管理路由表。 看一些C example。但是,新手很难。
所以最简单的方法是使用ip实用程序(事实上它使用netlink套接字)。这样,您就可以实现自己的shell脚本并在其中执行路由操作。您可以搜索 ip 工具的正确usage。