openvpn []: ข้อผิดพลาดของตัวเลือก: ใน [CMD-LINE]: 1: เกิดข้อผิดพลาดในการเปิดไฟล์กำหนดค่า


14

เมื่อพยายาม service openvpn start

Oct 12 14:02:01 ccushing1 openvpn[9091]: Options error: In [CMD-LINE]:1: Error opening configuration file: devnet-client-vm.conf

ทำงานopenvpn devnet-client-vm.confได้ดี ทำไม openvpn ไม่เริ่มทำงาน ฉันจะแก้ไขได้อย่างไร


ฉันให้คำตอบ แต่ฉันขอแนะนำให้ตอบคำถามที่ไม่เกี่ยวข้องกับการทำหมัน SELinux
xenoterracide

คำตอบ:


12

คุณอาจต้องการเรียกใช้

fixfiles -R openvpn restore

ls -alZ ควรให้อะไรแบบนี้กับคุณ (แสดงไฟล์ของคุณในบริบท selinux ที่ถูกต้องตอนนี้):

[root@server openvpn]# ls -alZ /etc/openvpn/
drwxr-xr-x. root    root    system_u:object_r:openvpn_etc_t:s0 .
drwxr-xr-x. root    root    system_u:object_r:etc_t:s0       ..
drwxr-xr-x. root    root    unconfined_u:object_r:openvpn_etc_t:s0 certs
-rw-r--r--. root    root    unconfined_u:object_r:openvpn_etc_t:s0 dh2048.pem
drwxr-xr-x. root    root    unconfined_u:object_r:openvpn_etc_t:s0 easy-rsa
-rw-------. root    root    unconfined_u:object_r:openvpn_etc_rw_t:s0 ipp.txt
-rw-------. root    root    unconfined_u:object_r:openvpn_etc_t:s0 ta.key
-rw-------. openvpn openvpn unconfined_u:object_r:openvpn_etc_t:s0 server.conf

หากคุณมีคำสั่งเช่น

status openvpn-status.log

ในไฟล์กำหนดค่า openvpn ของคุณคุณอาจสังเกตเห็นว่าเซิร์ฟเวอร์ยังไม่เริ่มทำงาน มองไปที่ /var/log/audit/audit.log จะเปิดเผย

type=AVC msg=audit(1413580155.710:1265): avc:  denied  { write } for  pid=19725 comm="openvpn" name="openvpn-status.log" dev="dm-1" ino=54153273 scontext=system_u:system_r:openvpn_t:s0 tcontext=unconfined_u:object_r:openvpn_etc_t:s0 tclass=file

การเปลี่ยนบริบทของไฟล์นี้เป็น rw ทำได้โดยใช้เล่ห์เหลี่ยม:

chcon -t openvpn_etc_rw_t openvpn-status.log

และ

[root@server openvpn]# ls -alZ openvpn-status.log
-rw-------. root    root    unconfined_u:object_r:openvpn_etc_t:s0 openvpn-status.log

จะกลายเป็น

-rw-------. root    root    unconfined_u:object_r:openvpn_etc_rw_t:s0 openvpn-status.log

หลังจากนั้นโทร

service openvpn@server start

ทำงานได้อย่างไร้ที่ติ

[root@server openvpn]# service openvpn@server status
Redirecting to /bin/systemctl status  openvpn@server.service
openvpn@server.service - OpenVPN Robust And Highly Flexible Tunneling Application On server
   Loaded: loaded (/usr/lib/systemd/system/openvpn@.service; disabled)
   Active: active (running) since Fri 2014-10-17 23:13:49 CEST; 9s ago
  Process: 20445 ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf (code=exited, status=0/SUCCESS)
 Main PID: 20449 (openvpn)
   CGroup: /system.slice/system-openvpn.slice/openvpn@server.service
           └─20449 /usr/sbin/openvpn --daemon --writepid /var/run/openvpn/server.pid --cd /etc/openvpn/ --config server.conf

Oct 17 23:13:49 server openvpn[20445]: ROUTE_GATEWAY xx.xxx.xx.x/255.255.255.0 IFACE=eth0 HWADDR=XX:XX:XX:XX:XX:XX
Oct 17 23:13:49 server openvpn[20449]: GID set to nobody
Oct 17 23:13:49 server openvpn[20449]: UID set to nobody
Oct 17 23:13:49 server openvpn[20449]: UDPv4 link local (bound): [undef]
Oct 17 23:13:49 server openvpn[20449]: UDPv4 link remote: [undef]
Oct 17 23:13:49 server openvpn[20449]: MULTI: multi_init called, r=256 v=256
Oct 17 23:13:49 server openvpn[20449]: IFCONFIG POOL: base=10.8.0.4 size=62, ipv6=0
Oct 17 23:13:49 server systemd[1]: Started OpenVPN Robust And Highly Flexible Tunneling Application On server.
Oct 17 23:13:49 server openvpn[20449]: IFCONFIG POOL LIST
Oct 17 23:13:49 server openvpn[20449]: Initialization Sequence Completed

PS: ฉันอยู่บน Centos 7


ควรทำเครื่องหมายเป็นคำตอบที่ถูกต้อง
ansi_lumen

4

สำหรับคนอื่นที่พบกระทู้นี้ฉันมีปัญหาใน Fedora 26 เปลี่ยนคำแนะนำที่ฉันติดตามคุณใส่ไฟล์ conf ไว้ในไดเรกทอรี / etc / openvpn แต่พวกเขาจำเป็นต้องไปที่ / etc / openvpn / server


1
ขอบคุณ. สำหรับคนอื่น ๆ ที่จะต้องไปลึก: คุณมีการคัดลอกของคุณca, crtและkey(เพื่อให้ทั้งสอง.crtไฟล์และ.key) ไฟล์ไปยังไดเรกทอรีเดียวกัน
AlexWalterbos

1
นี่เป็นวิธีแก้ปัญหาสำหรับฉันใน CentOS 8
oucil

1

ปัญหาคือ SELinux การแก้ไข/etc/sysconfig/selinuxและการตั้งค่าSELINUX=permissiveจากนั้นรีบูตเครื่องแก้ไขให้ฉัน ฉันจำได้ใน fedora ว่ามีคำสั่งที่ต้องรันเพื่ออนุญาตให้ใช้ไดเรกทอรีรับรองอย่างถูกต้อง แต่ฉันลืมคำสั่งนั้น การตั้งค่าให้อนุญาตการแก้ไขอย่างสมบูรณ์ แต่วิธีที่ต้องการมากกว่าคือการแก้ไขเพื่อให้สามารถใช้ไดเรกทอรีได้อย่างถูกต้อง


0

สำหรับไดเรกทอรีใบรับรองและปัญหา SElinux ดูเหมือนว่าค่อนข้างเก่ารายงานครั้งแรกที่นี่: https://bugzilla.redhat.com/show_bug.cgi?id=555785 และดูเหมือนว่าจะเป็นข้อบกพร่องต้นน้ำอย่างน้อยเมื่อคุณใช้ NetworkManager เพื่อควบคุม การเชื่อมต่อ openvpn ของคุณ แต่ข้อผิดพลาดต้นน้ำยังคงเป็น "ยืนยัน" -.- https://bugzilla.gnome.org/show_bug.cgi?id=670198

บางทีปัญหาการติดฉลากใหม่ของ SELinux ในขณะที่พยายามเรียกใช้ OpenVPNช่วยด้วย SElinux บิต

หรือถ้าคุณต้องการใช้ใบรับรองสำหรับผู้ใช้แต่ละคนและไม่ใช่ใบรับรองทั้งระบบ: /superuser/339391/making-selinux-play-nice-with-openvpn-in-networkmanager


0

ฉันแก้ไขข้อผิดพลาดด้านบนโดยการย้ายไฟล์ conf ไปยัง  clientไดเรกทอรีเช่น

/etc/openvpn/client/openvpn.conf

1
@ GAD3R: ใช่มั้ย ดูเหมือนว่าฉันจะให้คำตอบสำหรับคำถาม; ทุกๆเล็กน้อยเท่าคำตอบของยิระมะยาซึ่งคล้ายกัน (แต่ไม่เหมือนกัน)
G-Man กล่าวว่า 'Reinstate Monica'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.