Score:1

ป้องกันไม่ให้บริการ OpenVPN systemd เริ่มต้นที่บ้าน

ธง gd

ภายในพีซีแล็ปท็อปของฉัน ฉันตั้งค่าบริการ systemd ที่สร้างการเชื่อมต่อ OpenVPN ที่บ้านของฉัน และปล่อยให้มันเริ่มโดยอัตโนมัติเมื่อบูต เพื่อให้ฉันสามารถเข้าถึงเซิร์ฟเวอร์ที่บ้านของฉันได้ทุกที่

ปัญหาคือเมื่อฉันถึงบ้านแล้ว มันยังเชื่อมต่อกับ VPN และทำให้ตารางเส้นทางของแล็ปท็อปสับสน ดังนั้นฉันจึงไม่สามารถเข้าถึงเซิร์ฟเวอร์ได้เมื่อฉันอยู่ที่บ้าน

มีวิธีใดบ้างที่ฉันสามารถให้บริการ systemd เริ่มต้นแบบมีเงื่อนไข?

ขอบคุณ!

Ginnungagap avatar
gu flag
คุณได้ตรวจสอบ systemd unit/service/exec manpages แล้วหรือยัง? ฉันไม่อยู่บ้าน ฉันจะไม่ทำให้คุณ แต่ฉันรู้ว่าคุณสามารถตั้งค่าเงื่อนไขได้ ฉันแค่ไม่เคยลองอะไรที่ซับซ้อนแบบนี้มาก่อน
Score:0
ธง gd

ฉันโพสต์วิธีแก้ปัญหาที่นี่ อาจช่วยใครซักคนได้

ฉันเขียนโค้ดสคริปต์ซึ่งจะพยายามค้นหาที่อยู่ MAC ของเราเตอร์ที่บ้านของฉัน หากสำเร็จ (หมายความว่าฉันอยู่บ้าน) ให้หยุดเพื่อเชื่อมต่อ VPN จากนั้นแก้ไขไฟล์บริการ systemd (vpn-to-home.service) เพิ่มบรรทัด ExecStartPre=/usr/local/bin/stop-if-lan.sh.

สคริปต์ stop-if-lan.sh:

#!/bin/bash
/usr/bin/ping -4n -c 1 -q -W 1 IP_OF_ROUTER > /dev/null
MAC_ADDRESS=`arp -n | awk '/IP_OF_ROUTER/{print $3;exit}'`

ถ้า [ "$MAC_ADDRESS" == "MAC_OF_ROUTER" ] ; แล้ว
# echo "เราถึงบ้านแล้ว"
   ทางออก 1
ไฟ
ทางออก 0

vpn-to-home.service ของ systemd:

[หน่วย]
Requisite=network-online.target
After=syslog.target network-online.target 

[บริการ]
พิมพ์=ไม่ได้ใช้งาน
RuntimeDirectory=openvpn-ไคลเอนต์
WorkingDirectory=/run/openvpn-client
PrivateTmp=จริง
CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_OVERRIDE

ExecStartPre=/usr/local/bin/check-if-lan.sh

ExecStart=/usr/sbin/openvpn --config /etc/openvpn/client/client-to-home.ovpn
ลิมิตNPROC=10
DeviceAllow=/dev/null rw
DeviceAllow=/dev/net/tun rw
ProtectSystem=จริง
ProtectHome=จริง
KillMode=กระบวนการ

[ติดตั้ง]
WantedBy=multi-user.target
Score:0
ธง cn

ฉันไม่ใช่ผู้เชี่ยวชาญด้านเครือข่าย แต่ฉันคิดว่ามันสามารถทำได้ถ้าคุณใช้อีเทอร์เน็ตที่บ้านและ WiFi ที่อื่น ในกรณีนั้น คุณควรจะสามารถกำหนดเส้นทางอินเทอร์เฟซ WiFi ของคุณผ่านการเชื่อมต่อ VPN ได้

Leon avatar
gd flag
ขอบคุณ! แต่ฉันใช้ WiFi เสมอแม้ว่าที่บ้าน นอกจากนี้ แล็ปท็อปของฉันไม่มีอินเทอร์เฟซ LAN

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา