书接上文,双网口飞牛 NAS 设置二级路由
后来作为系统的 U 盘挂掉了,现在索性重装 debian13
,并启用双网口桥接,使 NAS
作为作为交换机使用
重装后当前网络接口状态如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever 2: enp1s0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:e8:4c:69:1b:44 brd ff:ff:ff:ff:ff:ff altname enx00e84c691b44 inet 10.20.0.210/16 brd 10.20.255.255 scope global dynamic noprefixroute enp1s0 valid_lft 86189sec preferred_lft 75389sec inet6 fe80::bf24:3c80:c53e:7e8a/64 scope link valid_lft forever preferred_lft forever 3: enp2s0: <BROADCAST,MULTICAST,PROMISC> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 00:e8:4c:69:1b:45 brd ff:ff:ff:ff:ff:ff altname enx00e84c691b45
|
要将 Debian 13
系统上的双网口(enp1s0
和 enp2s0
)配置为桥接模式,需要安装 bridge-utils
并修改网络接口配置文件 /etc/network/interfaces
注意: 网卡要打开混杂模式
,可以参考上篇文章 双网口飞牛 NAS 设置二级路由
1
| sudo apt install bridge-utils
|
目前 enp1s0
已经有一个 DHCP 分配的 IP 地址,为了将这两个接口桥接,需要将它们都设置为手动模式,然后创建一个网桥 br0
并将这两个接口添加到其中
有两种实现方式:DHCP 为网桥获取地址、网桥静态 IP 地址
操作有风险,请先备份 /etc/network/interfaces 文件
DHCP 方式
修改 /etc/network/interfaces
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| auto lo iface lo inet loopback
iface enp1s0 inet manual iface enp2s0 inet manual
auto br0
iface br0 inet dhcp bridge_ports enp1s0 enp2s0 bridge_stp off bridge_waitport 0 bridge_fd 0
|
静态 IP 地址配置网桥
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| auto lo iface lo inet loopback
iface enp1s0 inet manual iface enp2s0 inet manual
auto br0 iface br0 inet static address 10.20.0.X/16 netmask 255.255.0.0 gateway 10.20.0.1 bridge_ports enp1s0 enp2s0 bridge_stp off bridge_waitport 0 bridge_fd 0
|
重启网络
如果为远程 ssh,这一步有断连风险
1
| sudo systemctl restart networking
|
发现问题
操作完成后发现 enp2s0 还是 down 的状态
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever 2: enp1s0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000 link/ether 00:e8:4c:69:1b:44 brd ff:ff:ff:ff:ff:ff altname enx00e84c691b44 inet6 fe80::bf24:3c80:c53e:7e8a/64 scope link valid_lft forever preferred_lft forever 3: enp2s0: <BROADCAST,MULTICAST,PROMISC> mtu 1500 qdisc noop master br0 state DOWN group default qlen 1000 link/ether 00:e8:4c:69:1b:45 brd ff:ff:ff:ff:ff:ff altname enx00e84c691b45 4: tailscale0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qdisc fq_codel state UNKNOWN group default qlen 500 link/none inet 100.64.0.6/32 scope global tailscale0 valid_lft forever preferred_lft forever inet6 fd7a:115c:a1e0::7e01:8325/128 scope global valid_lft forever preferred_lft forever inet6 fe80::38c1:9cd8:bb78:2f5d/64 scope link stable-privacy proto kernel_ll valid_lft forever preferred_lft forever 5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether f6:e0:ed:7c:90:3e brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever 6: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether de:44:f5:ac:9b:8c brd ff:ff:ff:ff:ff:ff inet 10.20.0.216/16 brd 10.20.255.255 scope global dynamic noprefixroute br0 valid_lft 86362sec preferred_lft 75562sec inet6 fe80::dc44:f5ff:feac:9b8c/64 scope link proto kernel_ll valid_lft forever preferred_lft forever
|
重新拔插网线,执行如下命令重启后成功
1
| sudo systemctl restart networking
|
使用 ShellCrash 创建旁路由
参考最新教程
https://github.com/juewuy/ShellCrash/blob/dev/README_CN.md
安装步骤:
1 2 3
| sudo -i bash export url='https://fastly.jsdelivr.net/gh/juewuy/ShellCrash@master' && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh && bash /tmp/install.sh && source /etc/profile &> /dev/null
|
配置好后,需要将本地设备的网关
和 DNS
服务器地址设置为 Debian 13
设备的 IP 地址,以实现旁路由功能