Pergunta
Qual é o conjunto mínimo de diretivas de configuração de servidor e cliente que eu preciso para satisfazer as seguintes condições?
- Rede ethernet da camada 2 virtual que não será conectada com nenhuma outra interface.
- Os clientes VPN podem trocar quadros com qualquer outro cliente VPN.
- O DHCP não é necessário (nenhum TCP / IP será usado na VPN)
- Todo o tráfego na VPN será realizado por ethernet (sem camada 3+ de rede, de fato)
- A MTU da rede virtual precisa ser muito maior que a das redes subjacentes e isso deve ser transparente para os nós dentro da VPN. O OpenVPN está livre para fragmentar pacotes fora da VPN - acho que isso está habilitado através das diretivas
fragment
e tun-mtu
. A sobrecarga de usar essas opções não é uma preocupação. (meta MTU é 2360 )
- A segurança da rede não é uma preocupação - sua finalidade é estritamente ser um link ethernet completamente em software para nós que não estão fisicamente próximos uns dos outros.
Que trabalhos eu já fiz?
Eu tenho muita experiência com o OpenVPN, então estou bastante confiante de que tenho o básico coberto. No entanto, não consigo encontrar o grande requisito de tamanho de MTU. Clientes na VPN podem se conectar e se eu configurar o TCP / IP para testes, todos os clientes podem executar ping uns dos outros, exceto quando o teste de ping com o não-fragmentar e tamanho de pacote maior que 1472. Os logs não revelam nada óbvio. >
Por favor, veja os seguintes arquivos de configuração.
configuração do servidor:
mode server
port 1195
proto udp
dev tap
tun-mtu 2360
fragment 1500
comp-lzo
max-clients 200
client-to-client
ca special-net/ca.crt
cert special-net/sn-server.crt
key special-net/sn-server.key
dh special-net/dh1024.pem
status special-net/status.log
tls-server
tls-auth ta.key 0
auth-user-pass-verify /bin/true via-env
duplicate-cn
username-as-common-name
user nobody
group nogroup
persist-key
persist-tun
verb 4
configuração do cliente:
client
remote <redacted> 1195
proto udp
dev tap
tun-mtu 2360
fragment 1500
ca special-net/ca.crt
cert special-net/sn-client.crt
key special-net/sn-client.key
tls-auth special-net/ta.key 1
auth-user-pass special-net/user.txt
ns-cert-type server
nobind
user nobody
group nobody
persist-key
persist-tun
comp-lzo
verb 3
resolv-retry infinite
Por que estou fazendo coisas estranhas com o OpenVPN?
Eu preciso de uma maneira de distribuir (em oposição a um simples capture ) frames 802.11 brutos como eles são observados por posts de escuta. Eu pretendo conseguir isso fazendo com que os postes de escuta transmitam cada frame 802.11 como estão para a VPN, mas com um cabeçalho ethernet prefixado. O cabeçalho da ethernet será simplesmente uma transmissão ethernet que o OpenVPN irá distribuir. O tamanho máximo de quadros para um datagrama 802.11 é de 2346 octetos, o que torna o meu MTU 2360 desejado (14 bytes adicionais para o cabeçalho ethernet).