如何在不丢失与远程机器的 ssh 连接的情况下在远程机器上的真实以太网卡之间设置桥接。
我通过 eth1 接口 ssh 进入一台机器。172.168.40.2 255.255.255.0。
我想将 eth1 连接到 tun/tap 设备“tun0”。如何才能在不关闭 eth1 和丢失 ssh 连接的情况下完成此操作。
tunctl -u root
brctl addbr br0
brctl addif br0 tun1
brctl addif br0 eth1
结果,连接将会丢失
答案1
- 通过不同的接口连接到机器。
- 在控制台处连接到机器。
- 在系统的启动脚本中设置网桥(您没有指定什么类型的系统)然后重新启动。
答案2
这有效:
tunctl -t tap0 ; brctl addbr br0 ; brctl addif br0 tap0 ; \
ip addr del 192.168.115.200/24 dev eth0 ; \
ip addr add 192.168.115.200/24 dev br0 ; \
brctl addif br0 eth0 ; ip link set dev br0 up
执行速度非常快,连接没有中断(甚至 LAN 连接也没有中断)。更安全的做法是在屏幕内执行此操作(我首先这样做了,但结果发现没有必要)。最安全的解决方案是(当然是在屏幕内)在执行这些命令期间将所有内容放在防火墙中。因此,在第一行之后(ip addr del 之前)插入iptables -I INPUT 1 -j DROP
并在末尾(ip link set 之后)添加iptables -D INPUT 1
答案3
我遇到了同样的问题,但首先运行ip link set dev br0 up
命令就足以保持连接。
答案4
如果您处于远程并且不能使用与桥接中涉及的接口不同的接口,则可以使用网络过滤器(iptables)创建 NAT 或端口转发,或者在这些网络之间安装代理。