Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

How can I set bridge between a real eth card on a remote machine without losing my ssh connection to that machine.

I ssh into a machine via its eth1 iinterface. 172.168.40.2 255.255.255.0.

I want to join eth1 to a tun/tap device 'tun0'. How can I do this without bringing down eth1 and losing my ssh connection.

tunctl -u root
brctl addbr br0
brctl addif br0 tun1
brctl addif br0 eth1

Result, connection will be lost

share|improve this question

4 Answers 4

up vote 1 down vote accepted
  1. Connect to the machine via a different interface.
  2. Connect to the machine at the console.
  3. Set up the bridge in the system's startup scripts (you didn't specify what sort of system) and then reboot.
share|improve this answer

I was getting the same problem, but running first the ip link set dev br0 up command was enough to keep the connection.

share|improve this answer

If you are remote and can not use a different interface than those involved in the bridge, you could create NAT or port forwarding with net-filter (iptables) or install a proxy between those networks.

share|improve this answer

This works:

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

This is executed so fast that the connection didn't break (not even a LAN connection). Even safer would be to do this within screen (which I did first but which turned out not to be necessary). The safest solution would be (within screen, of course) to drop everything in the firewall during these commands. So insert after the first line (before ip addr del) iptables -I INPUT 1 -j DROP and add at the end (after ip link set) iptables -D INPUT 1

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.