CentOS7安裝部署OpenVPN純密碼認證橋接模式

本文參考

1.https://www.emaculation.com/doku.php/bridged_openvpn_server_setup

2.https://serverfault.com/questions/622657/configure-firewalld-for-openvpn-server-bridge-in-fedora-20

3.https://www.linux.org.ru/forum/admin/10631949

1. 軟件版本

CentOS – 7.9.2009

easy-rsa – 3.0.8

OpenVPN – 2.4.10

bridge-utils

2.安裝

根據(jù)前面NAT模式的安裝教程风钻,大部分步驟能復(fù)用,這里只說區(qū)別

2.1配置橋接

安裝bridge-utils

yum install bridge-utils

ip addr 查看本機ip

[root@localhost ~]# ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

? ? link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

? ? inet 127.0.0.1/8 scope host lo

? ? ? valid_lft forever preferred_lft forever

? ? inet6 ::1/128 scope host

? ? ? valid_lft forever preferred_lft forever

2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

? ? link/ether 00:50:56:8f:c0:dd brd ff:ff:ff:ff:ff:ff

? ? inet 10.24.11.243/24 brd 10.24.11.255 scope global noprefixroute ens32

? ? ? valid_lft forever preferred_lft forever

? ? inet6 fe80::f4f5:b7e6:943d:fd26/64 scope link noprefixroute

? ? ? valid_lft forever preferred_lft forever

3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100

? ? link/none

? ? inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0

? ? ? valid_lft forever preferred_lft forever

? ? inet6 fe80::80e4:f8c5:e4fe:cf1/64 scope link flags 800

? ? ? valid_lft forever preferred_lft forever

可以獲取如下信息

IP地址:10.24.11.243

子網(wǎng)掩碼:255.255.255.0(/24 CIDR表示法)

廣播地址:10.24.11.255

路由IP地址:10.24.11.254

配置橋接腳本

nano /etc/openvpn/openvpn-bridge

內(nèi)容如下

#!/bin/sh

# Define Bridge Interface

br="br0"

# Define list of TAP interfaces to be bridged,

# for example tap="tap0 tap1 tap2".

tap="tap0"

# Define physical ethernet interface to be bridged

# with TAP interface(s) above. 根據(jù)實際內(nèi)容修改下面四項

eth="ens32"

eth_ip_netmask="10.24.11.243/24"

eth_broadcast="10.24.11.255"

eth_gateway="10.24.11.254"

case "$1" in

start)

? ? for t in $tap; do

? ? ? ? openvpn --mktun --dev $t

? ? done

? ? brctl addbr $br

? ? brctl addif $br $eth

? ? for t in $tap; do

? ? ? ? brctl addif $br $t

? ? done

? ? for t in $tap; do

? ? ? ? ip addr flush dev $t

? ? ? ? ip link set $t promisc on up

? ? done

? ? ip addr flush dev $eth

? ? ip link set $eth promisc on up

? ? ip addr add $eth_ip_netmask broadcast $eth_broadcast dev $br

? ? ip link set $br up

? ? ip route add default via $eth_gateway

? ? ;;

stop)

? ? ip link set $br down

? ? brctl delbr $br

? ? for t in $tap; do

? ? ? ? openvpn --rmtun --dev $t

? ? done

? ? ip link set $eth promisc off up

? ? ip addr add $eth_ip_netmask broadcast $eth_broadcast dev $eth

? ? ip route add default via $eth_gateway

? ? ;;

*)

? ? echo "Usage:? openvpn-bridge {start|stop}"

? ? exit 1

? ? ;;

esac

exit 0

賦權(quán)限

chmod 700 /etc/openvpn/openvpn-bridge

chown openvpn:openvpn /etc/openvpn/openvpn-bridge

2.2編輯服務(wù)端配置

dev tun注釋掉城榛,改成 dev tap0

server行注釋掉贡必,改成server-bridge梁钾,server-bridge語法如下

server-bridge [gw] [mask] [start-IP] [end-IP]

注意武契,這里的[gw] 有的教程是本機ip栈源,有的教程是實際網(wǎng)關(guān)挡爵,兩個都試驗后,填本機網(wǎng)關(guān)的只能訪問本網(wǎng)段的甚垦,如果存在多個vlan茶鹃,那就無法訪問

所以正確的填發(fā)應(yīng)該是填實際網(wǎng)關(guān)。

編輯

nano /etc/openvpn/server/server.conf

內(nèi)容如下

port 1194

proto tcp

#dev tun

dev tap0

#dev-node tap-bridge

user openvpn

group openvpn

#配置證書信息

ca /etc/openvpn/server/easy-rsa/pki/ca.crt

cert /etc/openvpn/server/easy-rsa/pki/issued/server.crt

key /etc/openvpn/server/easy-rsa/pki/private/server.key

dh /etc/openvpn/server/easy-rsa/pki/dh.pem

tls-auth /etc/openvpn/server/easy-rsa/ta.key 0

#配置賬號密碼的認證方式

script-security 3

auth-user-pass-verify "/etc/openvpn/server/user/checkpsw.sh" via-env

verify-client-cert none

username-as-common-name

client-to-client

duplicate-cn

#配置網(wǎng)絡(luò)信息

#server 10.8.0.0 255.255.255.0

server-bridge 10.24.11.254 255.255.255.0 10.24.11.10 10.24.11.190

client-to-client

push "dhcp-option DNS 10.24.11.250"

push "dhcp-option DNS 114.114.114.114"

push "route 10.24.11.0 255.255.255.0"

push "route 10.24.0.0 255.255.0.0"

push "route 172.20.0.0 255.255.0.0"

push "route 10.244.0.0 255.255.0.0"

compress lzo

cipher AES-256-CBC

keepalive 10 120

persist-key

persist-tun

verb 3

log /var/log/openvpn/server.log

log-append /var/log/openvpn/server.log

status /var/log/openvpn/status.log

2.3編輯啟動腳本

編輯openvpn-server@.service

nano /usr/lib/systemd/system/openvpn-server@.service

在Service內(nèi)容后添加兩行

[Service]

ExecStartPre=/etc/openvpn/openvpn-bridge start

ExecStopPost=/etc/openvpn/openvpn-bridge stop

重載service

systemctl daemon-reload

重啟服務(wù)端

systemctl restart openvpn-server@.service.service

2.4 配置防火墻

官網(wǎng)只給了iptables版本的艰亮,iptable如下

iptables -A INPUT -i tap0 -j ACCEPT

iptables -A INPUT -i br0 -j ACCEPT

iptables -A FORWARD -i br0 -j ACCEPT

執(zhí)行后需要保存

service iptables save

對應(yīng)的firewall版本如下

firewall-cmd --permanent --direct --passthrough ipv4 -A INPUT -i tap0 -j ACCEPT

firewall-cmd --permanent --direct --passthrough ipv4 -A INPUT -i br0 -j ACCEPT

firewall-cmd --permanent --direct --passthrough ipv4 -A FORWARD -i br0 -j ACCEPT

執(zhí)行后需執(zhí)行重載生效

firewall-cmd --reload

2.5配置客戶端

dev tun改成dev tap0

編輯C:\Program Files\OpenVPN\config\client.ovpn如下

client

proto tcp

dev tap0

auth-user-pass

remote 10.24.11.243 1194

ca ca.crt

tls-auth ta.key 1

remote-cert-tls server

cipher AES-256-CBC

auth-nocache

persist-tun

persist-key

comp-lzo

verb 3

mute 10

3.常見問題

1.能分配同網(wǎng)段ip闭翩,能ping通其他網(wǎng)段和服務(wù)器IP,但無法ping通同網(wǎng)段其他ip

如果服務(wù)器在虛擬機(如ESXI,hyper-V)上迄埃,先檢查是否開啟”允許MAC地址欺騙”功能

EXSI對應(yīng)配置如下


開啟之后疗韵,檢查防火墻是否開啟NAT配置,取消掉侄非。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蕉汪,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子逞怨,更是在濱河造成了極大的恐慌者疤,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叠赦,死亡現(xiàn)場離奇詭異驹马,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門糯累,熙熙樓的掌柜王于貴愁眉苦臉地迎上來算利,“玉大人,你說我怎么就攤上這事寇蚊”适保” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵仗岸,是天一觀的道長允耿。 經(jīng)常有香客問我,道長扒怖,這世上最難降的妖魔是什么较锡? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮盗痒,結(jié)果婚禮上蚂蕴,老公的妹妹穿的比我還像新娘。我一直安慰自己俯邓,他們只是感情好骡楼,可當我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著稽鞭,像睡著了一般鸟整。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上朦蕴,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天篮条,我揣著相機與錄音,去河邊找鬼吩抓。 笑死涉茧,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的疹娶。 我是一名探鬼主播伴栓,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼雨饺!你這毒婦竟也來了挣饥?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤沛膳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后汛聚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锹安,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了叹哭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片忍宋。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖风罩,靈堂內(nèi)的尸體忽然破棺而出糠排,到底是詐尸還是另有隱情,我是刑警寧澤超升,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布入宦,位于F島的核電站,受9級特大地震影響室琢,放射性物質(zhì)發(fā)生泄漏乾闰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一盈滴、第九天 我趴在偏房一處隱蔽的房頂上張望涯肩。 院中可真熱鬧,春花似錦巢钓、人聲如沸病苗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽硫朦。三九已至,卻和暖如春烈菌,著一層夾襖步出監(jiān)牢的瞬間阵幸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工芽世, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留挚赊,地道東北人。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓济瓢,卻偏偏與公主長得像荠割,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子旺矾,可洞房花燭夜當晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容