openvpn bridge tap para ethernet

1

Estou tentando configurar o openvpn no modo bridge para que eu possa vincular algumas redes em todo o país. Eu tenho a configuração openvpn e isso funciona bem, é quando eu tento e a transformo em uma rede em ponte é onde as coisas vão no caminho errado.

Estou seguindo este tutorial aqui .

Quando tento executar o bridge-start, recebo uma confirmação de que o dispositivo de toque foi aberto, mas também me desconecto da sessão ssh e tenho que reinicializar o servidor para se conectar novamente.

Sat May 27 02:49:35 2017 TUN/TAP device tap0 opened
Sat May 27 02:49:35 2017 Persist state set to: ON

Eu deveria estar me unindo a eth0 ou estou apenas fazendo algo errado?

Este é o meu script de início de ponte

#!/bin/bash

#################################
# Set up Ethernet bridge on Linux
# Requires: bridge-utils
#################################

# Define Bridge Interface
br="br0"

# Define list of TAP interfaces to be bridged,
# for example tap="tap0 tap1 tap2".
tap="tap0"

# Define physical ethernet interface to be bridged
# with TAP interface(s) above.
eth="eth0"
eth_ip="192.168.8.4"
eth_netmask="255.255.255.0"
eth_broadcast="192.168.8.255"

for t in $tap; do
    openvpn --mktun --dev $t
done

brctl addbr $br
brctl addif $br $eth

for t in $tap; do
    brctl addif $br $t
done

for t in $tap; do
    ifconfig $t 0.0.0.0 promisc up
done

ifconfig $eth 0.0.0.0 promisc up

ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast

E meu ifconfig

eth0      Link encap:Ethernet  HWaddr 00:16:3c:5d:7a:a5
          inet addr:111.111.111.111  Bcast:111.111.111.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:186590 errors:0 dropped:348 overruns:0 frame:0
          TX packets:136 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:11311181 (10.7 MiB)  TX bytes:20623 (20.1 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tap0      Link encap:Ethernet  HWaddr 7e:9f:bc:8a:06:f7
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Editar: Estou fazendo login via vnc para fazer todas as alterações.

Isto é o que meu / etc / network / interfaces parece atualmente, eu copiei todo o endereço / gateway / netmask da eth0 antes de fazer alterações. Eu não posso ssh no servidor, eu tenho minhas configurações erradas?

auto eth0
allow-hotplug eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 111.191.104.233
        gateway 111.191.104.1
        netmask 255.255.255.0
        bridge_ports eth0
        bridge_fd 0
        bridge_maxwait 0

interfaces antes de qualquer modificação

 auto lo
  iface lo inet loopback

 auto eth0
  iface eth0 inet static
   address 111.191.104.233
   gateway 111.191.104.1
   netmask 255.255.255.0
   dns-nameservers 8.8.8.8 8.8.4.4
    
por 12shadow12 27.05.2017 / 08:54

1 resposta

2

Você não alterou as variáveis eth_* no seu script bridge-start para corresponder ao cenário atual. Como resultado, quando você executa seu script, o endereço IP é alterado de 111.111.111.111 para 192.168.8.4 e você perde a conectividade.

Mesmo quando você consertou isso, você provavelmente precisará recriar sua tabela de roteamento (rota padrão, em particular).

Se possível, configure sua ponte e funcione ( br0 e eth0 ) antes de prosseguir com o openvpn. O ideal é que você obtenha a ponte em execução no momento da inicialização e, em seguida, adicione a interface tap0 ao iniciar o teste do openvpn.

Mudar com sucesso uma configuração de rede remotamente não é fácil. Se você tem alguma maneira de obter um KVM anexado enquanto trabalha, eu recomendo que você aproveite a chance.

Um comentário parece pedir um tutorial. Em vez de apontar para fora do site, aqui está como eu tenho uma ponte configurada em um dos meus sistemas. Ele não usa o NetworkManager, mas sim a configuração em /etc/network/interfaces . Se você errar, você não poderá efetuar login , então sugiro que você use um KVM, ou que você tente em uma máquina local para confirmar o processo.

allow-hotplug eth0
iface eth0 inet manual

auto br0
iface br0 inet static              ← ASSUMES STATIC IP ADDR
        address 111.111.111.111
        netmask 255.255.255.0
        gateway 111.111.111.254    ← FIX ME BEFORE TRYING THIS
        bridge_ports eth0
        bridge_fd 0
        bridge_maxwait 0
    
por 27.05.2017 / 10:21