Как я могу установить мост между реальной картой eth на удаленной машине, не теряя ssh-соединение с этой машиной.
Я подключился к машине по ssh через ее интерфейс eth1 i. 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
Результат, связь будет потеряна
У меня была та же проблема, но сначала запустил ip link set dev br0 up
команды было достаточно, чтобы поддерживать соединение.
Это работает:
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
Это выполняется так быстро, что соединение не прерывается (даже соединение по локальной сети). Еще безопаснее было бы сделать это на экране (что я сделал вначале, но в котором, как оказалось, не было необходимости). Самым безопасным решением было бы (конечно, в пределах экрана) отбросить все в брандмауэре во время этих команд. Поэтому вставьте после первой строки (перед ip addr del) iptables -I INPUT 1 -j DROP
и добавить в конце (после установки ip-ссылки) iptables -D INPUT 1
Если вы находитесь удаленно и не можете использовать другой интерфейс, чем те, которые используются в мосте, вы можете создать NAT или переадресацию портов с помощью net-filter (iptables) или установить прокси-сервер между этими сетями.