Ubuntu 17.10 - OpenVPN TAP - Ajuda

0

Estou desesperado neste momento. Eu tenho tentado configurar uma ponte de rede no Ubuntu 17.10 e tem sido um inferno. Não consigo encontrar documentos on-line para ajudar na instalação. Todos os que encontrei estão escritos para 16.04 e abaixo. Alguém por favor pode me ajudar. Com esta implementação do plano Net em vez de interfaces, tudo parece ser uma dor de cabeça. Abaixo estão minhas configurações.

Informação:

router: 10.0.1.1
ip address 10.0.1.100
network 10.0.1.0
gateway 10.0.1.1
dns: 10.0.1.1
netmask 255.255.255.0
admin@SKYNET:~$ cat /etc/netplan/01-netcfg.yaml
This file describes the network interfaces available on your system
For more information, see netplan(5).

network:
version: 2
renderer: networkd
ethernets:
enp0s31f6:
dhcp4: yes
bridges:
br0:
interfaces: [enp0s31f6]
dhcp4: true
optional: true
admin@SKYNET:~$ cat /etc/openvpn/server.conf
port 1194
proto udp
dev tap
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
ifconfig-pool-persist ipp.txt
server-bridge 10.0.1.100 255.255.255.0 10.0.1.230 10.0.1.254
push "route 10.0.1.0 255.255.255.0 10.0.1.1"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 10.0.1.1"
client-to-client
keepalive 10 120
tls-auth ta.key 0
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1
admin@SKYNET:~$ cat /etc/openvpn/easy-rsa/keys/client.ovpn
client
dev tap
proto udp
remote 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC
comp-lzo
verb 3

Eu segui os passos de esta página no wiki de ajuda do Ubuntu , mas o Preparar configuração de interface para ponte no servidor passo parece não funcionar desde interfaces não existe mais. Não sei como trazer tap0 para cima / baixo. Parece que estou tendo um problema de roteamento quando os clientes se conectam.

[admin@SKYNET:~$ ifconfig br0
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.1.100 netmask 255.255.255.0 broadcast 10.0.1.255
inet6 fe80::c96:daff:feda:65b8 prefixlen 64 scopeid 0x20
ether 0e:96:da:da:65:b8 txqueuelen 1000 (Ethernet)
RX packets 1327461 bytes 2776343355 (2.7 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 953269 bytes 1907343180 (1.9 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[admin@SKYNET:~$ ifconfig tap0
tap0: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 0a:82:dd:10:85:4d txqueuelen 100 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Também adicionei as regras de firewall

iptables -A INPUT -i tap0 -j ACCEPT
iptables -A INPUT -i br0 -j ACCEPT
iptables -A FORWARD -i br0 -j ACCEPT

O que estou fazendo de errado?

    
por nickyung 17.05.2018 / 06:21

1 resposta

0

Você não deseja configurar endereços na ponte e na interface física, que é o que acontece quando você tem o dhcp4: true configurado nos dois locais. Para corresponder à configuração descrita no link , o seu yaml do netplan deve ser semelhante :

$ cat /etc/netplan/01-netcfg.yaml # This file describes the network interfaces available on your system # For more information, see netplan(5).

network: version: 2 renderer: networkd ethernets: enp0s31f6: dhcp4: no bridges: br0: interfaces: [enp0s31f6] dhcp4: no addresses: [10.0.1.100/24] gateway4: 10.0.1.1 nameservers: addresses: [10.0.1.1] Observe que isso usa a configuração de endereço estático. O DHCP também funciona, mas não faz sentido ter outros arquivos de configuração em seu sistema (o openvpn.conf) com informações de IP configuradas estaticamente, mas usar o DHCP para a rede do host.

Você não precisa declarar essa interface como "opcional", que se relaciona apenas com o que outras unidades systemd aguardarão para que essa interface seja configurada na inicialização.

A outra parte da configuração do ifupdown que não traduz a netplan é o comando 'promisc': up ip link set $IFACE up promisc on . Para fazer o equivalente em um sistema usando netplan, certifique-se de ter o pacote networkd-dispatcher instalado e, em seguida, instale o seguinte script como /usr/lib/networkd-dispatcher/dormant.d/promisc_bridge (de propriedade do root, marcado como executável):

#!/bin/sh %código% set -e

    
por slangasek 19.05.2018 / 06:33