可以在网络管理器中在同一个物理连接上激活两个网络吗?

可以在网络管理器中在同一个物理连接上激活两个网络吗?

我想要访问两个网络:

  • PPPoE 网络:用于外部计算机(www 等)
    • IP(dhcp)、DNS、默认路由
  • 用于访问其他本地计算机的 LAN(本地文件共享)
    • IP(dhcp),无DNS,仅LAN路由

两个网络都是通过相同的以太网连接设置的。

同时访问两个网络的一种方法是从网络管理器连接到 PPPoE,然后手动添加 LAN 信息:

  • 在 eth0 上添加 IP
  • 添加到该网络的流量路由

我可以在 NetworkManager 中配置两个不同的连接,但由于它们都在同一个物理(以太网)网络上,因此选择其中一个会导致另一个断开连接 => 不能同时拥有它们。

有没有办法让两者同时活跃?

答案1

您可以创建一个别名。两者都位于同一子网。然后您可以相应地分配您的服务。

ifconfig eth0:0 10.0.0.3
ifconfig eth0:1 10.0.0.4

答案2

我找到了一个似乎适用于 NM 管理的以太网端口的解决方案。
我不是专家,对 NM 和 Ubuntu 还不熟悉 - 所以请多多指教。

使用 Ubuntu 12.04 添加了脚本:/etc/NetworkManager/dispatcher.d/wjw-alias-eth1
(安装文件的编辑版本:/etc/NetworkManager/dispatcher.d/01ifupdown)。

NM 文档说 dispatcher.d 中的脚本按字母顺序运行,因此请将添加的文件命名为最后运行。

在我的情况下,eth1 位于路由器后面,该路由器通过“静态”DHCP 分配 IP#。
我需要在同一个 LAN 段上获得第二个 IP#,这样我就可以同时运行两个 DLNA 服务器。(在我的情况下是 Mythtv 和 Serviio。)似乎每个 DLNA 服务器都必须绑定到不同的 IP#。我想让 NM 继续管理 eth1,以继续使用其内置功能

我添加的脚本:

#!/bin/sh -e
# Script for nm to add an alias eth1:0 and multicast routing on eth1 up---wjw

if [ -z "$1" ]; then
    echo "$0: called with no interface" 1>&2
    exit 1;
fi
        eth1="eth1"
if [ "$1" != "$eth1" ]; then
        exit 0;
fi


# Run the right scripts
case "$2" in
    up|vpn-up)
        ifconfig eth1:0 192.168.10.10  netmask 255.255.255.0 broadcast 192.168.10.255
        route add -net 239.0.0.0 netmask 255.0.0.0 dev eth1:0
        ;;
    down|vpn-down|hostname|dhcp4-change|dhcp6-change)
        # Do nothing more
        exit 0
        ;;
    *)
        echo "$0: called with unknown action \`$2'" 1>&2
        exit 1
        ;;
esac

相关内容