我想要访问两个网络:
- 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