如何更改网络接口的优先级

如何更改网络接口的优先级

我有 3 个网络接口:lonew0new1我用来new1访问互联网。

几天前我的电脑出问题了,开始尝试访问互联网lo。这样做ifconfig lo down会导致数据包通过new0。但我希望它使用new1

我可以使用ssh、下载种子并使用其他协议,但 http 和 https 不起作用;我只是立即收到“未找到服务器”的提示,而浏览器中没有加载时间。

如何让系统优先new1new0lo

我无法改变我的metricnew1new0都停留在 1。

答案1

确定一般流量接口的优先级是通过操纵路由指标

每条路由都有相关参数,例如跳数和带宽。请参阅命令手册页中的netstat -nr“ ”选项。metricroute

用于非常简单的公制使用控制伊夫米特工具:

sudo apt-get update

sudo apt-get install ifmetric

安装后,使用它来更改接口的度量值,请参阅此http://manpages.ubuntu.com/manpages/vivid/man8/ifmetric.8.html

答案2

度量标准可以在多个地方更改。对我来说,最好的方法是配置etc/network/interface

auto lo
iface lo inet loopback
auto new0
iface new0 inet static
    address xxx.xxx.xxx.xxx
    netmask xxx.xxx.xxx.xxx
    up route add default gw aaa.aaa.aaa.aaa metric 10
    down route del default gw aaa.aaa.aaa.aaa

auto new1
iface new1 inet static
    address yyy.yyy.yyy.yyy
    netmask yyy.yyy.yyy.yyy
    up route add default gw bbb.bbb.bbb.bbb
    down route del default gw bbb.bbb.bbb.bbb

这样,当接口new0启动时,将aaa.aaa.aaa.aaa使用度量 10 为网关带来路由。接口使用较低的度量new1带来路由bbb.bbb.bbb.bbb,并且流量将在该接口上路由。

如果您sudo ifdown new1拔下卡上的电缆,路由将被删除,并且路由aaa.aaa.aaa.aaa将成为新的最佳流量路由。

new1当再次添加brin int up 路线时,bbb.bbb.bbb.bbb它将再次成为您的最佳路线。

编辑1

路由优先级与基于目标端口的路由不同。

但是我给你举了个例子来路由 ssh 的流量,port 22你可以实现你需要的端口

我们从iptable开始,这里我们ssh以服务作为路由,使用mangleiptable表来修改ssh数据包。

  sudo iptables -t mangle -A OUTPUT -p tcp –dport 22 -j MARK –set-mark 0×1

我们将所有目标端口的数据包标记22为“0×1”。

现在保存并重新启动iptables

service iptables save
service iptables restart

要从中删除该条目,iptables我们可以使用-D而不是-A

/etc/iproute2/rt_table接下来,只需输入一个条目即可创建一个新的 IP 路由表

100 sshtable

为数据包编写规则ssh

ip rule add fwmark 0×1 lookup sshtable

在新表中添加路由sshtable。这里我们将使用“192.168.1.1”作为网关ssh。地址“192.168.1.1”,在此示例中将是网关地址。new2所有其他流量将通过默认网关(又称)new1,可通过 IP route show 命令查看。

我们从主表复制除默认网关条目之外的所有条目。

 sudo ip route show table main | grep -Ev ^default | while read ROUTE ; do ip route add table sshtable $ROUTE; done

将数据包的默认网关条目添加ssh到表中sshtable

  sudo ip route add default via 192.168.1.1 table sshtable

使用ip route show table sshtable显示 所有路线sshtable

就是这样..我们做到了!!!

重复imap在端口上465hhtp在端口上80https在端口上的所有操作443...

相关内容