用于MPLS配置的iproute2命令

use*_*118 11 linux routing linux-kernel netlink iproute

试图找出如何使用iproute2来管理Linux内核4.1中的静态标签交换MPLS路由.

我知道iproute2对MPLS的支持现在可能不完整[2].

任何人都可以了解iproute2-4.1.1目前能够做些什么?

这是我到目前为止所发现的:

文档/网络/ MPLS-sysctl.txt中

/ proc/sys/net/mpls/platform_labels/proc/sys/net/mpls/conf //输入

加载mpls模块

sudo modprobe mpls_router 
Run Code Online (Sandbox Code Playgroud)

查找sysctl支持

sysctl -a --pattern mpls 
net.mpls.conf.eth0.input = 0 
net.mpls.conf.eth1.input = 0 
net.mpls.conf.lo.input = 0 
net.mpls.platform_labels = 0 
Run Code Online (Sandbox Code Playgroud)

启用mpls支持

sudo sysctl -w net.mpls.conf.eth0.input=1 
sudo sysctl -w net.mpls.conf.eth1.input=1 
sudo sysctl -w net.mpls.platform_labels=1000 
Run Code Online (Sandbox Code Playgroud)

推???(如何添加前缀到推送动作?)

sudo ip route add 1.1.1.1/32 via mpls 100/200/300 dev eth0 
Run Code Online (Sandbox Code Playgroud)

交换???(如何添加标签交换动作?)

sudo ip -f mpls route add 10 via mpls 100/200/300 dev eth0 
Run Code Online (Sandbox Code Playgroud)

弹出??? (如何添加label-pop动作?)

???

节目???(如何显示标签交换路由?)

???

有人可以帮我吗 .提前致谢.

bin*_*gen 12

有点太晚了,但希望它对某人有所帮助.你可以在这里找到它们:

使用标签100将10.10.10.10/32路由到192.168.1.2:

ip route add 10.10.10.10/32 encap mpls 100 via inet 192.168.1.2
Run Code Online (Sandbox Code Playgroud)

标签交换100为200并发送到192.168.2.2:

ip -f mpls route add 100 as 200 via inet 192.168.2.2
Run Code Online (Sandbox Code Playgroud)

解封标签300并在本地交付:

ip -f mpls route add 300 dev lo
Run Code Online (Sandbox Code Playgroud)

要显示MPLS路由,您可以:

ip -f mpls route show
Run Code Online (Sandbox Code Playgroud)

如果您的iproute2版本不支持这些命令,您可以从这里获取:

https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-4.6.0.tar.gz

然后

./configure && make && make install
Run Code Online (Sandbox Code Playgroud)