ฉันมีเครื่องที่บ้าน อินเทอร์เน็ตผ่านสายโทรศัพท์ มี IP อิสระ และบริการมากมาย ฉันควรทำอย่างไรหากต้องการเข้าถึงเมื่อใดก็ได้ภายนอก จำ IP ที่เชื่อมต่อเมื่อคุณออกไปข้างนอกหรือไม่ หากการเชื่อมต่อถูกตัด IP จะเปลี่ยนหลังจากการเชื่อมต่อใหม่โดยอัตโนมัติ ดังนั้นวิธีแก้ปัญหาคือใช้ซอฟต์แวร์ "Peanut Shell" Peanut Shell ยังมีเวอร์ชัน Linux ซึ่งเป็นทางเลือกหนึ่งจริงๆ แต่เทียบเท่ากับการเผยแพร่ IP ของคุณทางอินเทอร์เน็ต สมมติว่าคุณไม่มั่นใจในความปลอดภัยของตัวเองมากนัก (นอกจากนี้ คุณไม่รู้ว่า Peanut Shell ได้รวบรวมหรือไม่ ข้อมูลใด ๆ เกี่ยวกับคุณ) และจุดประสงค์ของคุณคือเพื่อใช้ในระดับเล็ก ๆ เท่านั้น (เช่น เพียงคุณ ครอบครัวของคุณ หรือเพื่อนสนิทสองสามคน) จากนั้น IP แบบไดนามิกนี้สามารถแพร่กระจายผ่านอีเมลส่วนตัวที่ฉันได้สำรวจไปสองฉบับ โซลูชัน One One อิงจาก knemo+kmail และอีกอันอิงจาก udev+mail+exim4 นี่คือคำแนะนำโดยย่อ:
1. เข่า + kmmail
Knemo เป็นซอฟต์แวร์ตรวจสอบเครือข่ายภายใต้ kde และรองรับการเรียกใช้เหตุการณ์ Kmail เป็นไคลเอนต์อีเมลภายใต้ kde และรองรับการเรียกสคริปต์ dcop มีดังนี้:
สร้างสคริปต์ที่รับ IP การเชื่อมต่อผ่านสายโทรศัพท์โดยอัตโนมัติและส่งผ่าน kmail:
#!/bin/bash
จาก = "ไม่มี"
ถึง="[email protected]"
CC="[email protected]"
สำเนาลับถึง = ""
SUBJECT="ที่อยู่ PPP ของวันนี้"
นอน 10 วินาที
ข้อความ=`/sbin/ifconfig /bin/sed -e '/PtP/!d' -e 's/^[[:space:]]* inet addr://g' -e 's/[[:space :]]*PtP:.*หน้ากาก:.*$//g''`
สิ่งที่แนบมา="[] []"
dcop kmail MailTransportServiceIface "sendMessage(QString, QString, QString, QString, QString, QString, KURL::List)" "$FROM" "$TO" "$CC" "$BCC" "$SUBJECT" "$MESSAGE" $ATTACHMENT
จากนั้นใช้เป็นโปรแกรมที่ดำเนินการที่สอดคล้องกันในการแจ้งเตือนที่กำหนดค่าโดย knemo การกำหนดค่า knemo อยู่บน kcontrol -> อินเทอร์เน็ต&เครือข่าย -> การตรวจสอบเครือข่าย -> แผงเบ็ดเตล็ด
2. udev + เมล + exim4
วิธีแรกนั้นง่ายมาก แต่คุณต้องใช้ kde และเปิดเดสก์ท็อปไว้ตลอดเวลา (เพราะคุณต้องการ knemo และ kmail) วิธีที่สองคือรับการเปลี่ยนแปลงฮาร์ดแวร์ของเคอร์เนล ในกรณีที่ขาดการเชื่อมต่อ ให้เชื่อมต่อใหม่ , / จะถูกทริกเกอร์เมื่อไฟล์อุปกรณ์ด้านล่าง sys/ เปลี่ยนแปลง และไม่ขึ้นอยู่กับระบบ X และระบบเดสก์ท็อป
ฉันจะไม่เข้าไปที่การกำหนดค่าของ exim4 ที่นี่ แค่ลองดูทางออนไลน์
สคริปต์การส่งที่เกี่ยวข้อง (/XXXXX/ppp-address.sh) ได้รับการแก้ไขดังนี้:
#!/bin/bash
จาก = "ไม่มี"
ถึง="[email protected]"
ซีซี="[email protected]"
สำเนาลับถึง = ""
SUBJECT="ที่อยู่ PPP ของวันนี้"
นอน 10 วินาที
ข้อความ=`/sbin/ifconfig /bin/sed -e '/PtP/!d' -e 's/^[[:space:]]* inet addr://g' -e 's/[[:space :]]*PtP:.*หน้ากาก:.*$//g''`
echo "$MESSAGE" /usr/bin/mail -s "$SUBJECT" -c "$CC" -b "$BCC" "$TO"
เพิ่มกฎ udev: /etc/udev/rules.d/ ถัดไปเพิ่มไฟล์กฎ เช่น z100_ppp_ip_letter.rules โดยมีเนื้อหาต่อไปนี้:
ACTION=="เพิ่ม", ระบบย่อย=="net", KERNEL=="ppp[0-9]", RUN+="/XXXXX/ppp-address.sh"