如何在Linux路由器上监视路由决策

sau*_*n47 5 logging routing iptables

我有一台linux服务器,可以实现我的本地网络和两个Internet连接(在2个物理网卡上)之间的路由。

我已经配置了服务器:

1)对于iptables,我在表mangle上使用PREROUTING规则来标记来自本地的数据包:

  • 如果没有标记,则路由使用默认表
  • 如果mark = x0001,则路由使用特定表x0001

2)对于iptables,我在表格过滤器上使用FORWARD规则将流量从我的本地区域转发到网卡

3)用“ ip route”命令,我用不同的网关构造了两个路由表

自几个月以来,此配置就完美运行了。

今天,我有一个用户交替切换Internet连接。我已经在iptables上记录了PREROUTING规则,并且无论该情况如何,我都已经看到来自该用户的数据包已标记为x0001。

我的结论:此数据包应使用相同的路由表,以便使用相同的网关,并且我认为在路由决策期间会出错

如何监视路由决策?做出此路由决策的过程是什么?是iptables吗?

谢谢你的帮助。

Osc*_*vis 1

您可以创建某种脚本来解析命令的输出,这些命令可以“观察”路由表发生的情况。您可以使用ip route get命令。

这个

我在这里找到了这些东西

我希望它有帮助。