lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

README (5834B)


      1 Setting up OpenConnect VPN server
      2 =================================
      3 
      4 The openconnect server expects to be configured using the uci interface.
      5 
      6 It is recommended to setup a dynamic DNS address with openwrt prior
      7 to starting the server. That is because during the first startup
      8 a certificate file which will contain the dynamic DNS name will be
      9 created. You can always regenerate the certificate by deleting
     10 /etc/ocserv/server-key.pem.
     11 
     12 There are two approaches to setup the VPN. The proxy-arp approach (1)
     13 which provides clients with addresses of the LAN, and the "forwarding"
     14 approach (2) which provides clients with addresses of a separate private
     15 network. The former is suitable when you have "roadwarrior" type of clients
     16 connecting to the LAN, and the latter when you may need to connect
     17 multiple networks with the LAN.
     18 
     19 If for the client side you use OpenWRT it is recommended to check you
     20 have the latest vpnc-scripts and openconnect packages.
     21 
     22 
     23 1. Proxy-ARP Approach
     24 =====================
     25 
     26 [This option is available since ocserv-0.10.9-2 package]
     27 
     28 To setup a server the provides access to LAN with network address
     29 10.100.2.0/255.255.255.0 add the following to /etc/config/ocserv.
     30 The following setup will assign the upper 62 addresses for VPN use.
     31 
     32 ```
     33 ----/etc/config/ocserv-------------------------------------------
     34 config ocserv 'config'
     35 	option port '443'
     36 	option dpd '120'
     37 	option max_clients '8'
     38 	option max_same '2'
     39 	option netmask '255.255.255.192'
     40 	option ipaddr '10.100.2.192'
     41 	option auth 'plain'
     42 	option default_domain 'lan'
     43 	option compression '1'
     44 	option proxy_arp '1'
     45 	option ping_leases '1'
     46 	option enable '1'
     47 
     48 config dns
     49 	option ip '10.100.2.1'
     50 
     51 config routes
     52 	option ip '10.100.2.0'
     53 	option netmask '255.255.255.0'
     54 
     55 config ocservusers
     56 	option name 'test'
     57 	option password '$5$unl8uKAGNsdTh9zm$PnUHEGhDc5VHbFE2EfWwW38Bub6Y6EZ5hrFwZE1r2F1'
     58 
     59 -----------------------------------------------------------------
     60 ```
     61 
     62 This setup re-utilizes the addresses assigned to LAN for the VPN clients.
     63 To ensure that there are no conflicts with the DHCP server use the following
     64 commands. These will set the maximum address assigned by DHCP to be 10.100.2.191
     65 which is below the first VPN assigned address (10.100.2.192).
     66 
     67 ```
     68 # uci set dhcp.lan.start=100
     69 # uci set dhcp.lan.limit=91
     70 ```
     71 
     72 For simple networks like that you may also leave the 'netmask' and 'ipaddr'
     73 fields empty and ocserv on startup will set the necessary values.
     74 
     75 
     76 2. Forwarding Approach
     77 ======================
     78 
     79 To setup a server the provides access to LAN with network address
     80 10.100.2.0/255.255.255.0 using the VPN address range
     81 10.100.3.0/255.255.255.0 add the following to /etc/config/ocserv:
     82 
     83 ```
     84 ----/etc/config/ocserv-------------------------------------------
     85 config ocserv 'config'
     86 	option port '443'
     87 	option dpd '120'
     88 	option max_clients '8'
     89 	option max_same '2'
     90 	option netmask '255.255.255.0'
     91 	option ipaddr '10.100.3.0'
     92 	option auth 'plain'
     93 	option default_domain 'lan'
     94 	option compression '1'
     95 	option enable '1'
     96 
     97 config dns
     98 	option ip '10.100.2.1'
     99 
    100 config routes
    101 	option ip '10.100.2.0'
    102 	option netmask '255.255.255.0'
    103 
    104 config ocservusers
    105 	option name 'test'
    106 	option password '$5$unl8uKAGNsdTh9zm$PnUHEGhDc5VHbFE2EfWwW38Bub6Y6EZ5hrFwZE1r2F1'
    107 
    108 -----------------------------------------------------------------
    109 ```
    110 
    111 Setting up split-dns
    112 ====================
    113 
    114 To allow the clients to resolv with the local domain add the following
    115 to the ocserv configuration file.
    116 
    117 ```
    118 ----/etc/config/ocserv-------------------------------------------
    119 config ocserv 'config'
    120 	option split_dns '1'
    121 	option default_domain 'mydomain'
    122 ```
    123 
    124 The ```default_domain``` is optional and if not set, it will be autodetected
    125 from dnsmasq's configuration.
    126 
    127 
    128 Setting up the firewall
    129 =======================
    130 
    131 Since the connected users will be assigned to other interfaces than the LAN
    132 one, it is required to assign the VPN clients to an interface, and enable
    133 forwarding for them. That is, you should setup an unmanaged interface (e.g.,
    134 called vpn), which will have assigned the 'vpns+' interfaces (i.e., all vpns
    135 interfaces). Then a zone called vpn should be setup to handle interactions
    136 with lan. An example, which alls all forwarding between LAN and VPN clients,
    137 follows.
    138 
    139 ```
    140 ----/etc/config/network------------------------------------------
    141 config interface 'vpn'
    142         option proto 'none'
    143         option ifname 'vpns+'
    144 -----------------------------------------------------------------
    145 
    146 ----/etc/config/firewall-----------------------------------------
    147 config zone
    148         option input 'ACCEPT'
    149         option forward 'ACCEPT'
    150         option output 'ACCEPT'
    151         option name 'vpn'
    152         option device 'vpns+'
    153         option network 'vpn'
    154 
    155 config forwarding
    156         option dest 'lan'
    157         option src 'vpn'
    158 
    159 config forwarding
    160         option dest 'vpn'
    161         option src 'lan'
    162 
    163 config rule
    164         option target 'ACCEPT'
    165         option src 'wan'
    166         option proto 'tcp'
    167         option dest_port '443'
    168         option name 'vpn'
    169 
    170 config rule
    171         option target 'ACCEPT'
    172         option src 'wan'
    173         option proto 'udp'
    174         option dest_port '443'
    175         option name 'vpn'
    176 -----------------------------------------------------------------
    177 ```
    178 
    179 Note, that the last two rules, enable connections to port 443 from the
    180 Internet. That is the port used by OpenConnect VPN.
    181 
    182 
    183 Starting the server
    184 ===================
    185 
    186 Note that both configurations above add the user "test" with password "test". The
    187 password is specified in the crypt(3) format.
    188 
    189 The server can be enabled and started using:
    190 # /etc/init.d/ocserv enable
    191 # /etc/init.d/ocserv start
    192 
    193 For any custom configuration options of ocserv you may add values in
    194 /etc/ocserv/ocserv.conf.local.
    195 
    196 There is a luci plugin to allow configuring the server from
    197 the web environment; see the package luci-app-ocserv.
    198