Emitir com o OpenVPN agindo como cliente + servidor

1

Eu tenho 3 Amazon VPCs (Dev - 10.100.0.0/16, QA - 10.101.0.0/16, Prod - 10.104.0.0/16). Cada uma dessas VPNs possui um servidor OpenVPN. Eles estão calculando os IPs do cliente da seguinte forma:

Dev - 10.100.0.0/16 - Tunnel 10.7.0.0/24
QA - 10.101.0.0/16 - Tunnel 10.8.0.0/24
Prod - 10.104.0.0/16 - Tunnel 10.9.0.0/24

Eu tenho um servidor Ubuntu LTS 12.04 em execução no local e estabeleci 3 conexões de cliente (uma para cada VPC). Eu sou capaz de ssh para esta caixa Ubuntu e contornar todas as três sub-redes (10.100, 10.101, 10.104) sem quaisquer problemas.

Aqui está a configuração do meu cliente [DEV / 10.100.x / tun 10.7.0.x]:

client
dev tun
proto udp
remote dev.ip.addr 1193 
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/ca.crt
auth-user-pass /tmp/password.txt
comp-lzo
verb 3
reneg-sec 0
tls-client
remote-cert-tls server

Aqui está a configuração do meu cliente [QA / 10.101.x / tun 10.8.0.x]:

client
dev tun
proto udp
remote qa.ip.addr 1194 
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/ca.crt
auth-user-pass /tmp/password.txt
comp-lzo
verb 3
reneg-sec 0
tls-client
remote-cert-tls server

Aqui está a configuração do meu cliente [PROD / 10.104.x / tun 10.9.0.x]:

client
dev tun
proto udp
remote prod.ip.addr 1195 
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/ca.crt
auth-user-pass /tmp/password.txt
comp-lzo
verb 3
reneg-sec 0
tls-client
remote-cert-tls server

Agora, eu quero meus funcionários (internamente, enquanto no escritório), para VPN para este servidor (192.168.1.19), que tem 3 conexões para meus VPCs. E eu quero que eles sejam capazes de se conectar às redes 10.100, 10.101 e 10.104 (via sql cleints, telnet para servidores memcache, etc). Eu quero rotear todo o tráfego, exceto 80,443 e 3389 através desta interface vpn.

Configuração do servidor OpenVPN para o Office Server (192.168.1.19 / tun 10.10.0.x):

port 1196
proto udp
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/hqs-openvpn.mycompany.co.crt
key /etc/openvpn/easy-rsa/keys/hqs-openvpn.mycompany.co.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
plugin /usr/lib/openvpn/openvpn-auth-pam.so /etc/pam.d/login
#plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf
client-cert-not-required
username-as-common-name

server 10.10.0.0 255.255.255.0
push "route 10.7.0.0 255.255.255.0"
push "route 10.8.0.0 255.255.255.0"
push "route 10.9.0.0 255.255.255.0"
push "route 10.10.0.0 255.255.255.0"
push "route 10.104.0.0 255.255.0.0"
push "route 10.101.0.0 255.255.0.0"
push "route 10.100.0.0 255.255.0.0"

push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 5 30
comp-lzo
persist-key
persist-tun
verb 3

user nobody
group nogroup

log-append /var/log/openvpn
status /tmp/vpn.status 10

E aqui está o Config que estou distribuindo para os funcionários (192.168.1.x / tun 10.10.0.x)

client
dev tun
proto udp
remote 192.168.1.19 1196 
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/ca.crt
auth-user-pass /tmp/password.txt
comp-lzo
verb 3
reneg-sec 0
tls-client
remote-cert-tls server

DO SERVIDOR (via ssh para 192.168.1.19):

  • Consigo chegar a 10.104
  • Consigo obter 10 10.100
  • Consigo obter 10 10.101

    root@vpn-hqs:~# traceroute 10.104.10.104
    traceroute to 10.104.10.104 (10.104.10.104), 30 hops max, 60 byte packets
     1  10.9.0.1 (10.9.0.1)  86.094 ms  86.079 ms  86.079 ms
     2  10.104.10.104 (10.104.10.104)  86.084 ms  86.086 ms  86.087 ms
    root@vpn-hqs:~# traceroute 10.100.10.168
    traceroute to 10.100.10.168 (10.100.10.168), 30 hops max, 60 byte packets
     1  10.7.0.1 (10.7.0.1)  87.130 ms  87.121 ms  87.121 ms
     2  10.100.10.168 (10.100.10.168)  87.126 ms  87.238 ms  87.243 ms
    root@vpn-hqs:~# traceroute 10.101.10.168
    traceroute to 10.101.10.168 (10.101.10.168), 30 hops max, 60 byte packets
     1  10.8.0.1 (10.8.0.1)  87.954 ms  87.939 ms  87.937 ms
     2  10.101.10.168 (10.101.10.168)  87.943 ms  87.944 ms  88.031 ms
    root@vpn-hqs:~# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 br0
    10.7.0.0        10.7.0.17       255.255.0.0     UG    0      0        0 tun0
    10.7.0.17       0.0.0.0         255.255.255.255 UH    0      0        0 tun0
    10.8.0.0        10.8.0.33       255.255.0.0     UG    0      0        0 tun1
    10.8.0.33       0.0.0.0         255.255.255.255 UH    0      0        0 tun1
    10.9.0.0        10.9.0.13       255.255.0.0     UG    0      0        0 tun2
    10.9.0.13       0.0.0.0         255.255.255.255 UH    0      0        0 tun2
    10.10.0.0       10.10.0.2       255.255.255.0   UG    0      0        0 tun3
    10.10.0.2       0.0.0.0         255.255.255.255 UH    0      0        0 tun3
    192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br0
    

Aqui está minha configuração if do servidor (192.168.1.19):

root@vpn-hqs:~# ifconfig -a
br0       Link encap:Ethernet  HWaddr 00:1d:09:26:43:3d  
          inet addr:192.168.1.19  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21d:9ff:fe26:433d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17149 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2770 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2213528 (2.2 MB)  TX bytes:286915 (286.9 KB)

eth0      Link encap:Ethernet  HWaddr 00:1d:09:26:43:3d  
          inet6 addr: fe80::21d:9ff:fe26:433d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:18666 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2773 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2719828 (2.7 MB)  TX bytes:300485 (300.4 KB)
          Interrupt:16 

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:16436  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)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.7.0.18  P-t-P:10.7.0.17  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:876 (876.0 B)  TX bytes:1104 (1.1 KB)

tun1      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.34  P-t-P:10.8.0.33  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:1584 (1.5 KB)  TX bytes:2040 (2.0 KB)

tun2      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.9.0.14  P-t-P:10.9.0.13  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:1584 (1.5 KB)  TX bytes:2040 (2.0 KB)

tun3      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.10.0.1  P-t-P:10.10.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:13 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:740 (740.0 B)  TX bytes:0 (0.0 B)

Agora, posso me conectar do meu computador Windows ao 192.168.1.19 bem. E eu recebo um endereço IP de 10.10.0.6. Perfeito.

Mas, não consigo conectar / ping / telnet a nada em 10.104.0.0/16, 10.101.0.0/16 e 10.100.0.0/16 como quando estou ssh'd em 192.168.1.19. Aqui está minha tabela de rotas para minha caixa de janelas:

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1    192.168.1.220     10
          0.0.0.0        128.0.0.0        10.10.0.5        10.10.0.6     30
         10.7.0.0    255.255.255.0        10.10.0.5        10.10.0.6     30
         10.8.0.0    255.255.255.0        10.10.0.5        10.10.0.6     30
         10.9.0.0    255.255.255.0        10.10.0.5        10.10.0.6     30
        10.10.0.0    255.255.255.0        10.10.0.5        10.10.0.6     30
        10.10.0.1  255.255.255.255        10.10.0.5        10.10.0.6     30
        10.10.0.4  255.255.255.252         On-link         10.10.0.6    286
        10.10.0.6  255.255.255.255         On-link         10.10.0.6    286
        10.10.0.7  255.255.255.255         On-link         10.10.0.6    286
       10.100.0.0      255.255.0.0        10.10.0.5        10.10.0.6     30
       10.101.0.0      255.255.0.0        10.10.0.5        10.10.0.6     30
       10.104.0.0      255.255.0.0        10.10.0.5        10.10.0.6     30
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
        128.0.0.0        128.0.0.0        10.10.0.5        10.10.0.6     30
      192.168.1.0    255.255.255.0         On-link     192.168.1.220    266
     192.168.1.19  255.255.255.255      192.168.1.1    192.168.1.220     10
    192.168.1.220  255.255.255.255         On-link     192.168.1.220    266
    192.168.1.255  255.255.255.255         On-link     192.168.1.220    266
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link     192.168.1.220    266
        224.0.0.0        240.0.0.0         On-link         10.10.0.6    286
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link     192.168.1.220    266
  255.255.255.255  255.255.255.255         On-link         10.10.0.6    286
===========================================================================
Persistent Routes:
  None

Qualquer ajuda para obter meus clientes com VPN 10.10.0.0/24 conversando com os clientes 10.100.0.0/16, 10.101.0.0/16 e 10.104.0.0/16 seria MUITO AGRADÁVEL!

    
por Allan P 23.01.2013 / 05:18

1 resposta

0

Corrigido. Veja aqui uma explicação:

link

    
por 29.01.2013 / 05:12