# vi open***-2.3.2/sample/sample-config-files/server.conf
#################################################
# Sample Open××× 2.0 config file for #
# multi-client server. ## This file is for the server side ## of a many-clients <-> one-server ## Open××× configuration. ## Open××× also supports ## single-machine <-> single-machine ## configurations (See the Examples page ## on the web site for more info). ## This config should work on Windows ## or Linux/BSD systems. Remember on ## Windows to quote pathnames and use ## double backslashes, e.g.: ## “C:\\Program Files\\Open×××\\config\\foo.key” ## Comments are preceded with ‘#’ or ‘;’ ################################################### Which local IP address should Open×××
# listen on? (optional)# 设置服务器open×××监听IP;local a.b.c.dlocal 192.168.1.180# Which TCP/UDP port should Open××× listen on?
# If you want to run multiple Open××× instances# on the same machine, use a different port# number for each one. You will need to# open up this port on your firewall.# open***监听端口,默认1194可自定义,另外防火墙需开放此端口port 1194# TCP or UDP server?
# 选择采用何种协议传输proto tcp;proto udp# “dev tun” will create a routed IP tunnel,
# “dev tap” will create an ethernet tunnel.# Use “dev tap0″ if you are ethernet bridging# and have precreated a tap0 virtual interface# and bridged it with your ethernet interface.# If you want to control access policies# over the ×××, you must create firewall# rules for the the TUN/TAP interface.# On non-Windows systems, you can give# an explicit unit number, such as tun0.# On Windows, use “dev-node” for this.# On most systems, the ××× will not function# unless you partially or fully disable# the firewall for the TUN/TAP interface.# TAP 等同于一个以太网设备,它操作第二层数据包如以太网数据帧。TUN模拟了网络层设备,操作第三层数据包比如IP数据封包。;dev tapdev tun#tap
# Windows needs the TAP-Win32 adapter name# from the Network Connections panel if you# have more than one. On XP SP2 or higher,# you may need to selectively disable the# Windows firewall for the TAP adapter.# Non-Windows systems usually don’t need this.;dev-node MyTap# SSL/TLS root certificate (ca), certificate
# (cert), and private key (key). Each client# and the server must have their own cert and# key file. The server and all clients will# use the same ca file.# See the “easy-rsa” directory for a series# of scripts for generating RSA certificates# and private keys. Remember to use# a unique Common Name for the server# and each of the client certificates.# Any X509 key management system can be used.# Open××× can also use a PKCS #12 formatted key file# (see “pkcs12″ directive in man page).#Open×××使用的ROOT CA,用build-ca生成,用于验证客户是证书是否合法#Server使用的证书文件#Server使用的证书对应的key,官方建议加密此文件以便外泄ca /usr/local/open***/keys/ca.crtcert /usr/local/open***/keys/server.crtkey /usr/local/open***/keys/server.key# Diffie hellman parameters.
# Generate your own with:# openssl dhparam -out dh1024.pem 1024# Substitute 2048 for 1024 if you are using# 2048 bit keys.# 4.2中生成的Diffie-Hellman文件,默认2048bitdh dh1024.pem# Configure server mode and supply a ××× subnet
# for Open××× to draw client addresses from.# The server will take 10.100.0.1 for itself,# the rest will be made available to clients.# Each client will be able to reach the server# on 10.100.0.1. Comment this line out if you are# ethernet bridging. See the man page for more info.# 设置×××网络地址段,设置后服务器IP自动设置为10.1.10.1,客户端IP为10.100.0.2-254server 10.1.10.0 255.255.255.0# Maintain a record of client <-> virtual IP address
# associations in this file. If Open××× goes down or# is restarted, reconnecting clients can be assigned# the same virtual IP address from the pool that was# previously assigned.# 记录服务器分配的虚拟IP记录,中断恢复可重新获取原始IP。ifconfig-pool-persist ipp.txt# Configure server mode for ethernet bridging.
# You must first use your OS’s bridging capability# to bridge the TAP interface with the ethernet# NIC interface. Then you must manually set the# IP/netmask on the bridge interface, here we# assume 10.8.0.4/255.255.255.0. Finally we# must set aside an IP range in this subnet# (start=10.8.0.50 end=10.8.0.100) to allocate# to connecting clients. Leave this line commented# out unless you are ethernet bridging.# Bridge状态下类似DHCPD的配置,为客户分配地址,由于这里工作在路由模式,所以不使用;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100# Configure server mode for ethernet bridging
# using a DHCP-proxy, where clients talk# to the Open××× server-side DHCP server# to receive their IP address allocation# and DNS server addresses. You must first use# your OS’s bridging capability to bridge the TAP# interface with the ethernet NIC interface.# Note: this mode only works on clients (such as# Windows), where the client-side TAP adapter is# bound to a DHCP client.;server-bridge# Push routes to the client to allow it
# to reach other private subnets behind# the server. Remember that these# private subnets will also need# to know to route the Open××× client# address pool (10.100.0.0/255.255.255.0)# back to the Open××× server.# 推送路由到客户端,允许客户端访问服务器下的子网,此网段是服务器下网段。push “route 10.100.0.0 255.255.0.0″# To assign specific IP addresses to specific
# clients or if a connecting client has a private# subnet behind it that should also have ××× access,# use the subdirectory “ccd” for client-specific# configuration files (see man page for more info).# EXAMPLE: Suppose the client# having the certificate common name “Thelonious”# also has a small subnet behind his connecting# machine, such as 192.168.40.128/255.255.255.248.# First, uncomment out these lines:# 为服务器添加到客户端子网的路由,此网段是客户端下的网站route 10.200.0.0 255.255.0.0# client-config-dir 为客户端指定IP
;client-config-dir /etc/open***/conf/ccd# Then add this line to ccd/client:;iroute 10.200.0.0 255.255.0.0 #此为客户端下子网段;ifconfig-push 10.1.10.3 10.9.0.4 #此为设定客户端IP# Suppose that you want to enable different
# firewall access policies for different groups# of clients. There are two methods:# (1) Run multiple Open××× daemons, one for each# group, and firewall the TUN/TAP interface# for each group/daemon appropriately.# (2) (Advanced) Create a script to dynamically# modify the firewall in response to access# from different clients. See man# page for more info on learn-address script.;learn-address ./script# If enabled, this directive will configure
# all clients to redirect their default# network gateway through the ×××, causing# all IP traffic such as web browsing and# and DNS lookups to go through the ×××# (The Open××× server machine may need to NAT# or bridge the TUN/TAP interface to the internet# in order for this to work properly).# 使Client的默认网关指向×××,让Client的所有Traffic都通过×××走;push “redirect-gateway def1 bypass-dhcp”# Certain Windows-specific network settings
# can be pushed to clients, such as DNS# or WINS server addresses. CAVEAT:# http://open***.net/faq.html#dhcpcaveats# The addresses below refer to the public# DNS servers provided by opendns.com.# 为客户端推送DNSpush “dhcp-option DNS 8.8.8.8″push “dhcp-option DNS 8.8.4.4″# Uncomment this directive to allow different
# clients to be able to “see” each other.# By default, clients will only see the server.# To force clients to only see the server, you# will also need to appropriately firewall the# server’s TUN/TAP interface.# 取消该注释允许不同的客户端可以发现彼此client-to-client# Uncomment this directive if multiple clients
# might connect with the same certificate/key# files or common names. This is recommended# only for testing purposes. For production use,# each client should have its own certificate/key# pair.# IF YOU HAVE NOT GENERATED INDIVIDUAL# CERTIFICATE/KEY PAIRS FOR EACH CLIENT,# EACH HAVING ITS OWN UNIQUE “COMMON NAME”,# UNCOMMENT THIS LINE OUT.# 允许多客户端使用同一证书,最好是一个客户端一个证书duplicate-cn# The keepalive directive causes ping-like
# messages to be sent back and forth over# the link so that each side knows when# the other side has gone down.# Ping every 10 seconds, assume that remote# peer is down if no ping received during# a 120 second time period.# 每10秒ping一次客户端,如果120秒没有接收到回复包则判断连接中断。keepalive 10 120# For extra security beyond that provided
# by SSL/TLS, create an “HMAC firewall”# to help block DoS attacks and UDP port flooding.## Generate with:# open*** –genkey –secret ta.key# The server and each client must have# a copy of this key.# The second parameter should be ’0′# on the server and ’1′ on the clients.;tls-auth ta.key 0 # This file is secret# Select a cryptographic cipher.
# This config item must be copied to# the client config file as well.;cipher BF-CBC # Blowfish (default);cipher AES-128-CBC # AES;cipher DES-EDE3-CBC # Triple-DES# Enable compression on the ××× link.
# If you enable it here, you must also# enable it in the client config file.# 对数据进行压缩,注意Server和Client一致comp-lzo# The maximum number of concurrently connected
# clients we want to allow.# 限制客户端的最大连接数为100;max-clients 100# It’s a good idea to reduce the Open×××
# daemon’s privileges after initialization.## You can uncomment this out on# non-Windows systems.# 以nobody用户权限执行程序以提高安全;user nobody;group nobody# The persist options will try to avoid
# accessing certain resources on restart# that may no longer be accessible because# of the privilege downgrade.#通过keepalive检测超时后,重新启动×××,不重新读取keys,保留第一次使用的keys#通过keepalive检测超时后,重新启动×××,一直保持tun或者tap设备是linkup的,否则网络连接会先linkdown然后linkuppersist-keypersist-tun# Output a short status file showing
# current connections, truncated# and rewritten every minute.# 记录当前连接状态,每分钟重写一次status open***-status.log# By default, log messages will go to the syslog (or
# on Windows, if running as a service, they will go to# the “\Program Files\Open×××\log” directory).# Use log or log-append to override this default.# “log” will truncate the log file on Open××× startup,# while “log-append” will append to it. Use one# or the other (but not both).# 以覆盖的方式记录日志内容# 以累加的方式记录日志内容;log open***.loglog-append open***.log# Set the appropriate level of log
# file verbosity.## 0 is silent, except for fatal errors# 4 is reasonable for general usage# 5 and 6 can help to debug connection problems# 9 is extremely verbose# 采用何种方式记录日志内容,4为普通模式verb 4# Silence repeating messages. At most 20
# sequential messages of the same message# category will be output to the log.# 设置最大传输单元mute 20# vi open***-2.3.2/sample/sample-config-files/server.conf
##############################################
# Sample client-side Open××× 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 .o*** extension ################################################ Specify that we are a client and that we
# will be pulling certain config file directives# from the server.# 声明这是一个client,配置从server端pull过来,如IP地址,路由信息之类“Server使用push指令push过来的”client# Use the same setting as you are using on
# the server.# On most systems, the ××× will not function# unless you partially or fully disable# the firewall for the TUN/TAP interface.# TAP 等同于一个以太网设备,它操作第二层数据包如以太网数据帧。TUN模拟了网络层设备,操作第三层数据包比如IP数据封包。;dev tapdev 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.# 连接×××服务器,指定服务器IP和端口remote 192.168.1.180 1194# Choose a random host from the remote
# list for load-balancing. Otherwise# try hosts in the order specified.# 随机选择一个Server连接,否则按照顺序从上到下依次连接;remote-random# Keep trying indefinitely to resolve the
# host name of the Open××× server. Very useful# on machines which are not permanently connected# to the internet such as laptops.# 始终重新解析Server的IP地址(如果remote后面跟的是域名),# 保证Server IP地址是动态的使用DDNS动态更新DNS后,Client在自动重新连接时重新解析Server的IP地址# 这样无需人为重新启动,即可重新接入×××resolv-retry infinite# Most clients don’t need to bind to
# a specific local port number.# 在本机不邦定任何端口监听incoming数据,Client无需此操作,除非一对一的×××有必要nobind# Downgrade privileges after initialization (non-Windows only)
# 以nobody用户权限执行程序以提高安全;user nobody;group nobody# Try to preserve some state across restarts.
# 通过keepalive检测超时后,重新启动×××,不重新读取keys,保留第一次使用的keys# 通过keepalive检测超时后,重新启动×××,一直保持tun或者tap设备是linkup的,否则网络连接会先linkdown然后linkuppersist-keypersist-tun# If you are connecting through an
# HTTP proxy to reach the actual Open×××# server, put the proxy server/IP and# port number here. See the man page# if your proxy server requires# authentication.# 如果你使用HTTP代理连接××× Server,把Proxy的IP地址和端口写到下面# 如果代理需要验证,使用http-proxy server port [authfile] [auth-method]# 其中authfile是一个2行的文本文件,用户名和密码各占一行,auth-method可以省略,详细信息查看Manual;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.# Open×××使用的ROOT CA,用build-ca生成,用于验证客户是证书是否合法# client使用的证书文件# client使用的证书对应的key,官方建议加密此文件以便外泄ca /usr/local/open***/keys/ca.crtcert /usr/local/open***/keys/client.crtkey /usr/local/open***/keys/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://open***.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.# Server使用build-key-server脚本什成的,在x509 v3扩展中加入了ns-cert-type选项# 防止××× client使用他们的keys + DNS hack欺骗*** client连接他们假冒的××× Server# 因为他们的CA里没有这个扩展ns-cert-type server# If a tls-auth key is used on the server
# then every client must also have the key.# 和Server配置里一致,ta.key也一致,注意最后参数使用的是1;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# Enable compression on the ××× link.
# Don’t enable this unless it is also# enabled in the server config file.# 对数据进行压缩,注意Server和Client一致comp-lzo# Set log file verbosity.
# 采用何种方式记录日志内容,4为普通模式verb 4# Silence repeating messages
# 设置最大传输单元;mute 20参考链接:
转载请注明: