組態檔引數說明
# 檔案名 windows為client.ovpn,Linux為client.conf
client
# 標識這是個客戶端
dev tun
# 使用三層路由IP隧道(tun)還是二層以太網隧道(tap)。服務端是什么客戶端就是什么
proto tcp
# 使用的協議,有udp和tcp。服務端是什么客戶端就是什么
remote 10.0.0.190 1194
# 服務端的地址和埠
resolv-retry infinite
# 一直嘗試決議OpenVPN服務器的主機名。
# 在機器上非常有用,不是永久連接到互聯網,如筆記本電腦。
nobind
# 大多數客戶機不需要系結到特定的本地埠號。
;user nobody
;group nobody
# 初始化后的降級特權(僅非windows)
persist-key
persist-tun
# 嘗試在重新啟動時保留某些狀態。
ca ca.crt
cert client.crt
key client.key
# ca證書、客戶端證書、客戶端密鑰
# 如果它們和client.conf或client.ovpn在同一個目錄下則可以不寫絕對路徑,否則需要寫絕對路徑呼叫
remote-cert-tls server
# 通過檢查certicate是否具有正確的密鑰使用設定來驗證服務器證書。
tls-auth ta.key 1
# 加強認證方式,防攻擊。服務端有配置,則客戶端必須有
cipher AES-256-CBC
# 選擇一個密碼。如果在服務器上使用了cipher選項,那么您也必須在這里指定它。注意,v2.4客戶端/服務器將在TLS模式下自動協商AES-256-GCM。
compress lz4-v2
# 服務端用的什么,客戶端就用的什么
# 表示客戶端啟用lz4的壓縮功能,傳輸資料給客戶端時會壓縮資料包。
verb 3
# 日志級別
;mute 20
# 沉默的重復資訊。最多20條相同訊息類別的連續訊息將輸出到日志。
連接并測驗,略
6、Linux客戶端配置與訪問
安裝openvpn
安裝參見上文,上面說過了Linux安裝OpenVPN,這里不單獨說了。我們這里使用之前創建的wangwu客戶端用戶進行驗證。
vim /usr/local/openvpn/lib/systemd/system/[email protected]
[Service]
Type=notify
PrivateTmp=true
#WorkingDirectory=/etc/openvpn/server
WorkingDirectory=/etc/openvpn/wangwu
#ExecStart=/usr/local/openvpn/sbin/openvpn --status %t/openvpn-server/status-%i.log --status-version 2 --suppress-timestamps --config %i.conf
ExecStart=/usr/local/openvpn/sbin/openvpn --config wangwu.conf
配置系統服務,并開機自啟動【請根據需要加入開機自啟動】
# cp -a /usr/local/openvpn/lib/systemd/system/[email protected] /usr/lib/systemd/system/openvpn.service
# systemctl enable openvpn.service
客戶端wangwu客戶配置
說明:
1、注意路徑,在/etc/openvpn/目錄下建立了wangwu目錄
2、ca.crt、wangwu.crt、wangwu.key、ta.key都是之前創建好的,只有wangwu.ovpn需要單獨下載并修改。
mkdir /etc/openvpn/wangwu
將說明2中的證書拷貝只/etc/openvpn/wangwu目錄,
wangwu.conf內容如下:
client
dev tun
proto tcp
remote 10.0.0.190 1194 #服務端IP
resolv-retry infinite
nobind
user nobody
group nobody
persist-key
persist-tun
ca ca.crt
cert wangwu.crt
key wangwu.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC
compress lz4-v2
verb 3
;mute 20
啟動客戶端并連接VPN
systemctl start openvpn.service
Enter Private Key Password: ****** # 輸入該用戶創建時設定的密碼
ps -ef | grep 'open'
nobody 11266 1 0 21:56 ? 00:00:00 /usr/local/openvpn/sbin/openvpn --config wangwu.conf
測驗略
openvpn訪問控制
1、在主組態檔增加部門或人員配置:
vim /etc/openvpn/server/server.conf
server 10.8.0.0 255.255.255.0 #配置所有人可以訪問
#10.8.1.0是給管理員分配的IP段;例如運維
server 10.8.1.0 255.255.255.0
#10.8.2.0分配給java研發使用 例如研發
server 10.8.2.0 255.255.255.0
client-config-dir ccd # 在本組態檔的目錄中新建一個ccd目錄
2、配置個人用戶資訊
在/etc/openvpn/server/ccd目錄下新建一個用戶名的檔案
vim zhangsan
ifconfig-push 10.8.1.5 10.8.1.6 前面是本機使用ip,后面是客戶端使用Ip
3、重啟openvpn服務
systemctl restart openvpn
4、添加訪問控制策略
iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -d 172.17.0.0/16 -o eth0 -j MASQUERADE
保存:iptables-save > /etc/sysconfig/iptables
查看防火墻配置:iptables -L -n -t nat
iptables -t nat -A POSTROUTING -s 10.8.2.0/24 -d 172.17.20.16 -o eth0 -j MASQUERADE
5、添加路由
route add -net 10.8.1.0/24 gw 10.8.2.1
ifconfig-push中的每一對IP地址表示虛擬客戶端和服務器的IP端點。它們必須從連續的/30子網網段中獲取(這里是/30表示xxx.xxx.xxx.xxx/30,即子網掩碼位數為30),以便于與Windows客戶端和TAP-Windows驅動兼容。明確地說,每個端點的IP地址對的最后8位位元組必須取自下面的集合:
[ 1, 2] [ 5, 6] [ 9, 10] [ 13, 14] [ 17, 18]
[ 21, 22] [ 25, 26] [ 29, 30] [ 33, 34] [ 37, 38]
[ 41, 42] [ 45, 46] [ 49, 50] [ 53, 54] [ 57, 58]
[ 61, 62] [ 65, 66] [ 69, 70] [ 73, 74] [ 77, 78]
[ 81, 82] [ 85, 86] [ 89, 90] [ 93, 94] [ 97, 98]
[101,102] [105,106] [109,110] [113,114] [117,118]
[121,122] [125,126] [129,130] [133,134] [137,138]
[141,142] [145,146] [149,150] [153,154] [157,158]
[161,162] [165,166] [169,170] [173,174] [177,178]
[181,182] [185,186] [189,190] [193,194] [197,198]
[201,202] [205,206] [209,210] [213,214] [217,218]
[221,222] [225,226] [229,230] [233,234]
創建新用戶:
cd /root/easy-rsa-3.0.7/easyrsa3/
./easyrsa build-client-full test
openvpn洗掉不使用用戶
cd /root/easy-rsa-3.0.7/easyrsa3/
./easyrsa revoke test
./easyrsa gen-crl
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/263996.html
標籤:應用程序開發區
下一篇:30分鐘入門Vim
