debian13 双网口开启桥接

debian13 双网口开启桥接

tsvico Lv5

书接上文,双网口飞牛 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 系统上的双网口(enp1s0enp2s0)配置为桥接模式,需要安装 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
# 将网卡enp1s0和enp2s0设置为手动模式,以便加入网桥
iface enp1s0 inet manual
iface enp2s0 inet manual
# 自动激活br0网桥
auto br0
# 配置br0通过DHCP获取IP地址
iface br0 inet dhcp
# 将enp1s0和enp2s0端口添加到br0网桥中
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 # 静态IP地址替换 10.20.0.X
netmask 255.255.0.0 # 根据实际调整子网掩码
gateway 10.20.0.1 # 默认网关IP替换 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 #切换到root用户,如果需要密码,请输入密码
bash #如已处于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 地址,以实现旁路由功能

  • 标题: debian13 双网口开启桥接
  • 作者: tsvico
  • 创建于 : 2025-09-10 14:46:49
  • 更新于 : 2025-09-10 20:46:49
  • 链接: https://blog.tbox.fun/2025/38671282.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论