Не может получить доступ к LAN позади OpenVPN из Ubuntu 13.10

Я испытываю затруднения при достижении машин в VPN. Сервер имеет конфигурацию TAP, и я могу успешно соединиться от клиента Windows 7. Я следовал главным образом этому руководству для получения всего настроенного: http://www.howtogeek.com/60774/connect-to-your-home-network-from-anywhere-with-openvpn-and-tomato/

Странная часть - то, что я могу соединиться с VPN, сервер показывает соединение, но я не могу достигнуть других компьютеров из сети, когда я делаю это из Ubuntu. Я должен вручную закрепить некоторое образование моста на клиенте, или Ubuntu должна автоматически найти маршруты? Я считал где-нибудь, что это могло бы быть заблокировано брандмауэром, но я положителен, что брандмауэр был выключен на клиенте и на сервере, брандмауэр, очевидно, настроен правильно, или иначе я не смог бы соединиться от клиента Windows 7.

Руководство дало мне команду идти с OpenVPN 2.1.4 в Windows, и это - то, что я сделал в Ubuntu, я использовал версию в репозиториях, и это, возможно, вызвало некоторую проблему, но я не вижу, почему это было бы. Ниже мой client.conf:

##############################################
# Sample client-side OpenVPN 2.0 config file #
# for connecting to multi-client server.     #
#                                            #
# This configuration can be used by multiple #
# clients, however each client should have   #
# its own cert and key files.                #
#                                            #
# On Windows, you might want to rename this  #
# file so it has a .ovpn extension           #
##############################################

# Specify that we are a client and that we
# will be pulling certain config file directives
# from the server.
client

# Use the same setting as you are using on
# the server.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
dev tap
#dev tun

# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel
# if you have more than one.  On XP SP2,
# you may need to disable the firewall
# for the TAP adapter.
;dev-node MyTap

# Are we connecting to a TCP or
# UDP server?  Use the same setting as
# on the server.
proto tcp
#proto udp

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote removed.for-sake-of.security 1194
;remote my-server-2 1194

# Choose a random host from the remote
# list for load-balancing.  Otherwise
# try hosts in the order specified.
;remote-random

# Keep trying indefinitely to resolve the
# host name of the OpenVPN server.  Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite

# Most clients don't need to bind to
# a specific local port number.
nobind

# Downgrade privileges after initialization (non-Windows only)
;user nobody
;group nobody

# Try to preserve some state across restarts.
persist-key
persist-tun

# If you are connecting through an
# HTTP proxy to reach the actual OpenVPN
# server, put the proxy server/IP and
# port number here.  See the man page
# if your proxy server requires
# authentication.
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]

# Wireless networks often produce a lot
# of duplicate packets.  Set this flag
# to silence duplicate packet warnings.
;mute-replay-warnings

# SSL/TLS parms.
# See the server config file for more
# description.  It's best to use
# a separate .crt/.key file pair
# for each client.  A single ca
# file can be used for all clients.
ca "/etc/openvpn/ca.crt"
cert "/etc/openvpn/client.crt"
key "/etc/openvpn/client.key"

# Verify server certificate by checking
# that the certicate has the nsCertType
# field set to "server".  This is an
# important precaution to protect against
# a potential attack discussed here:
#  http://openvpn.net/howto.html#mitm
#
# To use this feature, you will need to generate
# your server certificates with the nsCertType
# field set to "server".  The build-key-server
# script in the easy-rsa folder will do this.
ns-cert-type server

# If a tls-auth key is used on the server
# then every client must also have the key.
;tls-auth ta.key 1

# Select a cryptographic cipher.
# If the cipher option is used on the server
# then you must also specify it here.
;cipher x
cipher AES-128-CBC

# Enable compression on the VPN link.
# Don't enable this unless it is also
# enabled in the server config file.
comp-lzo

# Set log file verbosity.
verb 3

# Silence repeating messages
;mute 20

Есть ли что-либо еще, что я должен настроить, чтобы заставить мой клиент Ubuntu быть частью объединять в сеть / доступа к другим машинам?

ОБНОВЛЕНИЕ: Это - вывод от клиента, поскольку Вы видите, что это, кажется, застревает в цикле, перезапуская соединение много раз. Я скопировал вывод с запуска до второго раза, когда он говорит Initialization Sequence Completed. Это помогает предоставить ответ?

Thu Jan  9 18:52:37 2014 OpenVPN 2.3.2 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [eurephia] [MH] [IPv6] built on Jul 12 2013
Thu Jan  9 18:52:37 2014 WARNING: file '/etc/openvpn/krs-niklas.key' is group or others accessible
Thu Jan  9 18:52:37 2014 Socket Buffers: R=[87380->131072] S=[16384->131072]
Thu Jan  9 18:52:37 2014 Attempting to establish TCP connection with [AF_INET]85.225.217.161:1194 [nonblock]
Thu Jan  9 18:52:38 2014 TCP connection established with [AF_INET]85.225.217.161:1194
Thu Jan  9 18:52:38 2014 TCPv4_CLIENT link local: [undef]
Thu Jan  9 18:52:38 2014 TCPv4_CLIENT link remote: [AF_INET]85.225.217.161:1194
Thu Jan  9 18:52:38 2014 TLS: Initial packet from [AF_INET]85.225.217.161:1194, sid=444e38d7 ac8fcbca
Thu Jan  9 18:52:39 2014 VERIFY OK: depth=1, C=US, ST=CA, L=SanFrancisco, O=OpenVPN, CN=KRS, emailAddress=mail@host.domain
Thu Jan  9 18:52:39 2014 VERIFY OK: nsCertType=SERVER
Thu Jan  9 18:52:39 2014 VERIFY OK: depth=0, C=US, ST=CA, O=OpenVPN, CN=KRS, emailAddress=mail@host.domain
Thu Jan  9 18:52:41 2014 Data Channel Encrypt: Cipher 'AES-128-CBC' initialized with 128 bit key
Thu Jan  9 18:52:41 2014 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Jan  9 18:52:41 2014 Data Channel Decrypt: Cipher 'AES-128-CBC' initialized with 128 bit key
Thu Jan  9 18:52:41 2014 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Jan  9 18:52:41 2014 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Thu Jan  9 18:52:41 2014 [KRS] Peer Connection Initiated with [AF_INET]85.225.217.161:1194
Thu Jan  9 18:52:43 2014 SENT CONTROL [KRS]: 'PUSH_REQUEST' (status=1)
Thu Jan  9 18:52:43 2014 PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 192.168.1.1,route-gateway dhcp,ping 15,ping-restart 60'
Thu Jan  9 18:52:43 2014 OPTIONS IMPORT: timers and/or timeouts modified
Thu Jan  9 18:52:43 2014 OPTIONS IMPORT: route-related options modified
Thu Jan  9 18:52:43 2014 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Thu Jan  9 18:52:43 2014 TUN/TAP device tap1 opened
Thu Jan  9 18:52:43 2014 TUN/TAP TX queue length set to 100
Thu Jan  9 18:52:43 2014 Initialization Sequence Completed
Thu Jan  9 18:52:49 2014 Connection reset, restarting [0]
Thu Jan  9 18:52:49 2014 SIGUSR1[soft,connection-reset] received, process restarting
Thu Jan  9 18:52:49 2014 Restart pause, 5 second(s)
Thu Jan  9 18:52:54 2014 Socket Buffers: R=[87380->131072] S=[16384->131072]
Thu Jan  9 18:52:54 2014 Attempting to establish TCP connection with [AF_INET]85.225.217.161:1194 [nonblock]
Thu Jan  9 18:52:55 2014 TCP connection established with [AF_INET]85.225.217.161:1194
Thu Jan  9 18:52:55 2014 TCPv4_CLIENT link local: [undef]
Thu Jan  9 18:52:55 2014 TCPv4_CLIENT link remote: [AF_INET]85.225.217.161:1194
Thu Jan  9 18:52:55 2014 TLS: Initial packet from [AF_INET]85.225.217.161:1194, sid=ff99a93f 04c54987
Thu Jan  9 18:52:56 2014 VERIFY OK: depth=1, C=US, ST=CA, L=SanFrancisco, O=OpenVPN, CN=KRS, emailAddress=mail@host.domain
Thu Jan  9 18:52:56 2014 VERIFY OK: nsCertType=SERVER
Thu Jan  9 18:52:56 2014 VERIFY OK: depth=0, C=US, ST=CA, O=OpenVPN, CN=KRS, emailAddress=mail@host.domain
Thu Jan  9 18:52:58 2014 Data Channel Encrypt: Cipher 'AES-128-CBC' initialized with 128 bit key
Thu Jan  9 18:52:58 2014 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Jan  9 18:52:58 2014 Data Channel Decrypt: Cipher 'AES-128-CBC' initialized with 128 bit key
Thu Jan  9 18:52:58 2014 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Jan  9 18:52:58 2014 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Thu Jan  9 18:52:58 2014 [KRS] Peer Connection Initiated with [AF_INET]85.225.217.161:1194
Thu Jan  9 18:53:00 2014 SENT CONTROL [KRS]: 'PUSH_REQUEST' (status=1)
Thu Jan  9 18:53:00 2014 PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 192.168.1.1,route-gateway dhcp,ping 15,ping-restart 60'
Thu Jan  9 18:53:00 2014 OPTIONS IMPORT: timers and/or timeouts modified
Thu Jan  9 18:53:00 2014 OPTIONS IMPORT: route-related options modified
Thu Jan  9 18:53:00 2014 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Thu Jan  9 18:53:00 2014 Preserving previous TUN/TAP instance: tap1
Thu Jan  9 18:53:00 2014 Initialization Sequence Completed
3
задан 14 January 2014 в 02:37

4 ответа

Thu Jan  9 18:52:43 2014 PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 192.168.1.1,route-gateway dhcp,ping 15,ping-restart 60'

Из журнала клиентский компьютер не получает действительный IP-адрес DHCP, который обычно должен передаваться сервером с помощью оператора push. Таким образом, клиент не мог связаться с одноранговым узлом (сервером), после чего произошел перезапуск.

Как вы можете заметить, здесь нажимается «ping 15, ping-restart 60», поэтому здесь присутствует «SIGUSR1». Пожалуйста, обратитесь к 'man openvpn' для более подробной информации.

   --ping-restart n
          Similar  to --ping-exit, but trigger a SIGUSR1 restart after n seconds pass without reception of a ping or other packet from remote.

          This option is useful in cases where the remote peer has a dynamic IP address and a low-TTL  DNS  name  is  used  to  track  the  IP  address  using  a service such as http://dyndns.org/ + a dynamic DNS client such as ddclient.

          If the peer cannot be reached, a restart will be triggered,  causing  the  hostname used with --remote to be re-resolved (if --resolv-retry is also specified).
0
ответ дан 14 January 2014 в 02:37

Вы можете получить доступ к одному узлу в локальной сети при подключении, но не к другим. Вот что происходит. Ваш маршрутизатор не знает, как маршрутизировать трафик для OpenVPN, потому что это «чужая сеть». Пример:

Клиент A подключается к серверу OpenVPN B.

Назначенный адрес OpenVPN A - 172.19.0.2. Адрес сервера OpenVPN - 172.19.0.1, а адрес локальной сети - 192.168.0.101.

A пытается подключиться к другому блоку в локальной сети, 192.168.0.33 (C). Для того чтобы это произошло, трафик должен исходить от A, передавать на B, передавать на шлюз для B (маршрутизатор) и, наконец, передавать на C.

Теперь, двигаясь вперед. Ничто из этого не сработает, если у вас нет доступа к вашему маршрутизатору локальной сети:

Итак, сначала вам нужно включить маршрутизацию на сервере OpenVPN, чтобы он мог направлять пакеты на шлюз. Это будет зависеть от вашей ОС, но вы должны иметь возможность Google «включить маршрутизацию на _ » (название вашей ОС). Сделай это.

Затем вам нужно добавить статический маршрут на маршрутизаторе, чтобы он знал, что трафик openvpn должен быть возвращен из локальной сети через ваш сервер openvpn. Найдите раздел статических маршрутов в конфигурации вашего маршрутизатора и добавьте маршрут. Маршрут должен соответствовать спецификации адреса в файле конфигурации вашего сервера. Таким образом, если ваш файл конфигурации сервера будет использовать виртуальную сеть 10.20.0.0 с маской сети 255.255.0.0, вы добавите

network - 10.20.0.0
netmask - 255.255.0.0
gateway - 192.168.0.101 #replace this with your openvpn server's address on the lan)

Это должно сделать это.

0
ответ дан 14 January 2014 в 02:37

Ubuntu Server 14.04.1 Как настроить сервер OpenVPN на отдельном компьютере, отличном от шлюза локальной сети (с доступом к другим машинам в локальной сети сервера)

Убедитесь, что ваш openvpn LAN не является обычной 192.168.1.1 или 10.0.0.1. Если это так, войдите в свой маршрутизатор и измените третий номер, т.е. 192.168. (Этот номер) .1

Обязательно перенаправьте порт 1194 на маршрутизаторе на IP-адрес сервера OpenVPN

Пример сети:

Gateway IP:            192.168.5.1
OpenVPN Server IP:     192.168.5.20

OpenVPN Config:

 port 1194
 proto udp
 dev tun0
 ca ca.crt
 cert server.crt
 key server.key
 dh dh2048.pem
 server 10.8.0.0 255.255.255.0
 ifconfig-pool-persist ipp.txt
 push "route 192.168.5.0 255.255.255.0"
 push "route 10.8.0.0 255.255.255.0"
 push "redirect-gateway def1 bypass-dhcp"
 push "dhcp-option DNS 8.8.8.8"
 push "dhcp-option DNS 8.8.4.4"
 client-to-client
 duplicate-cn
 keepalive 10 120
 tls-auth ta.key 0
 comp-lzo
 user nobody
 group nogroup
 persist-key
 persist-tun 
 status openvpn-status.log
 verb 3

Редактировать / etc / network / interfaces:

 auto lo
 iface lo inet loopback

 auto eth0
 iface eth0 inet static
      address 192.168.5.20
      netmask 255.255.255.0
      broadcast 192.168.5.255
      network 192.168.5.0
      gateway 192.168.5.1
      dns-nameservers 8.8.8.8
      dns-nameservers 8.8.4.4

 post-up iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to 192.168.5.20

Обязательно закомментировать настройку ipv6

Отредактируйте /etc/sysctl.conf:

Измените:

 #net.ipv4.ip_forward=1

на:

 net.ipv4.ip_forward=1

Предполагая, что все ваши ключи и клиентские конфиги находятся в квадрате; Перезагрузите свой сервер, и все будет хорошо!

0
ответ дан 14 January 2014 в 02:37

В общем случае, когда вы подключаетесь к VPN, вы можете получить доступ к удаленной локальной сети, но ваш доступ к локальной сети будет заблокирован.

0
ответ дан 14 January 2014 в 02:37

Другие вопросы по тегам:

Похожие вопросы: