I have a problem with my tun server. It gives my client a subnet mask of 10.0.1.1, which of course is bogus.
What I did is i copied the server conf from my tap server and changed the ip, port, ip range and so on.
Here's my configs:
Server:
#Port
port 1195
#proto udp
proto tcp-server
mode server
tls-server
client-to-client
management localhost 7506
;dev tap
dev tun
ifconfig 10.0.1.1 255.255.255.0
ifconfig-pool 10.0.1.2 10.0.1.254
tun-mtu 1500
mssfix
ca easy-rsa/2.0/keys/ca.crt
cert easy-rsa/2.0/keys/server.crt
key easy-rsa/2.0/keys/server.key
dh easy-rsa/2.0/keys/dh1024.pem
push "redirect-gateway def1"
#push "dhcp-option DNS 195.20.224.234"
push "topology subnet"
push "route 10.0.0.0 255.255.255.0"
ifconfig-pool-persist ipp-tun.txt
keepalive 10 120
auth SHA1
comp-lzo
user nobody
group nobody
persist-key
persist-tun
verb 3
android client:
##############################################
# 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
float
# 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 /dev/tun
# 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 hesa.homeip.net 1195
tls-remote /C=DE/ST=BW/L=Ueberlingen/O=hesa-vpn/CN=server/emailAddress=hesa@hendrik-sachse.net
;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 ca.crt
cert hesa@n900.crt
key hesa@n900.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
auth SHA1
# Select a cryptographic cipher.
# If the cipher option is used on the server
# then you must also specify it here.
;cipher x
# 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
server log:
Mar 21 19:53:15 s16933710 openvpn[14639]: TCP connection established with [AF_INET]79.235.149.254:48379
Mar 21 19:53:15 s16933710 openvpn[14639]: 79.235.149.254:48379 TLS: Initial packet from [AF_INET]79.235.149.254:48379, sid=cced0593 92978fe4
Mar 21 19:53:16 s16933710 openvpn[14639]: 79.235.149.254:48379 VERIFY OK: depth=1, C=DE, ST=BW, L=Ueberlingen, O=hesa-vpn, CN=hesaOpenVPN-CA, emailAddress=hesa@hendrik-sachse.net
Mar 21 19:53:16 s16933710 openvpn[14639]: 79.235.149.254:48379 VERIFY OK: depth=0, C=DE, ST=BW, L=Ueberlingen, O=hesa-vpn, CN=hesa@n900, emailAddress=hesa@hendrik-sachse.net
Mar 21 19:53:16 s16933710 openvpn[14639]: 79.235.149.254:48379 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Mar 21 19:53:16 s16933710 openvpn[14639]: 79.235.149.254:48379 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Mar 21 19:53:16 s16933710 openvpn[14639]: 79.235.149.254:48379 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Mar 21 19:53:16 s16933710 openvpn[14639]: 79.235.149.254:48379 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Mar 21 19:53:16 s16933710 openvpn[14639]: 79.235.149.254:48379 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Mar 21 19:53:16 s16933710 openvpn[14639]: 79.235.149.254:48379 [hesa@n900] Peer Connection Initiated with [AF_INET]79.235.149.254:48379
Mar 21 19:53:16 s16933710 openvpn[14639]: hesa@n900/79.235.149.254:48379 MULTI_sva: pool returned IPv4=10.0.1.2, IPv6=(Not enabled)
Mar 21 19:53:16 s16933710 openvpn[14639]: hesa@n900/79.235.149.254:48379 MULTI: Learn: 10.0.1.2 -> hesa@n900/79.235.149.254:48379
Mar 21 19:53:16 s16933710 openvpn[14639]: hesa@n900/79.235.149.254:48379 MULTI: primary virtual IP for hesa@n900/79.235.149.254:48379: 10.0.1.2
Mar 21 19:53:17 s16933710 openvpn[14639]: hesa@n900/79.235.149.254:48379 PUSH: Received control message: 'PUSH_REQUEST'
Mar 21 19:53:17 s16933710 openvpn[14639]: hesa@n900/79.235.149.254:48379 send_push_reply(): safe_cap=940
Mar 21 19:53:17 s16933710 openvpn[14639]: hesa@n900/79.235.149.254:48379 SENT CONTROL [hesa@n900]: 'PUSH_REPLY,redirect-gateway def1,topology subnet,route 10.0.0.0 255.255.255.0,ping 10,ping-restart 120,ifconfig 10.0.1.2 10.0.1.1' (status=1)
Mar 21 19:53:17 s16933710 openvpn[14639]: hesa@n900/79.235.149.254:48379 Connection reset, restarting [0]
Mar 21 19:53:17 s16933710 openvpn[14639]: hesa@n900/79.235.149.254:48379 SIGUSR1[soft,connection-reset] received, client-instance restarting
android client message:
(I couldn'd find the log on my android phone)
...
Session is ACTIVE
EVENT: GET_CONFIG
Sending PUSH_REQUEST to server...
OPTIONS:
0 [redirect-gateway] [def1]
1 [topology] [subnet]
2 [route] [10.0.0.0] [255.255.255.0]
3 [ping] [10]
4 [ping-restart] [120]
5 [ifconfig] [10.0.1.2] [10.0.1.1]
LZO-ASYM init swap=0 asym=0
EVENT: ASSIGN_IP
TUN Error:
addr_pair_mask_parse_error: AddrMaskPair parse error 'ifconfig': 10.0.1.2/10.0.1.1 : ipv4_exception: malformed netmask
EVENT: TUN_SETUP_FAILED info='addr_pair_mask_parse_error: AddrMaskPair parse error 'ifconfig': 10.0.1.2/10.0.1.1 : ipv4_exception: malformed netmask'
EVENT: DISCONNECTED
I have no idea where this strange subnet mask comes from.
The config is almost identical to the tap one and that one works:
tap-conf:
#Port
port 1194
#proto udp
proto tcp-server
mode server
tls-server
client-to-client
management localhost 7505
dev tap
;dev tun
ifconfig 10.0.0.1 255.255.255.0
ifconfig-pool 10.0.0.2 10.0.0.254
tun-mtu 1492
mssfix
ca easy-rsa/2.0/keys/ca.crt
cert easy-rsa/2.0/keys/server.crt
key easy-rsa/2.0/keys/server.key
dh easy-rsa/2.0/keys/dh1024.pem
push "redirect-gateway def1"
#push "dhcp-option DNS 195.20.224.234"
push "topology subnet"
push "route 10.0.1.0 255.255.255.0"
ifconfig-pool-persist ipp.txt
keepalive 10 120
auth SHA1
comp-lzo
user nobody
group nobody
persist-key
persist-tun
verb 3
Regards
Aydan