รีลีสล่าสุดมีให้เสมอจาก GitHub ที่
https://github.com/troglobit/inadyn/releases
เคล็ดลับ: คู่มือ HTML UNIX อยู่ที่ https://man.troglobit.com, เช่น inadyn.conf (5)
Inadyn หรือ In-A-Dyn เป็น DNS แบบไดนามิกขนาดเล็กและเรียบง่าย DDNs ไคลเอนต์ที่มีการสนับสนุน HTTPS โดยทั่วไปมีอยู่ในการแจกแจง GNU/Linux จำนวนมากใช้ในการปิดเราเตอร์ชั้นวางและเกตเวย์อินเทอร์เน็ตเพื่อให้งานอินเทอร์เน็ตของคุณซิงค์กับที่อยู่ IP สาธารณะของคุณโดยอัตโนมัติ นอกจากนี้ยังสามารถใช้ในการติดตั้งที่มีการเชื่อมต่อซ้ำซ้อน (สำรองข้อมูล) ไปยังอินเทอร์เน็ต
คนส่วนใหญ่ไม่ทราบว่าพวกเขาแบ่งปันที่อยู่อินเทอร์เน็ตกับผู้ใช้รายอื่นของผู้ให้บริการอินเทอร์เน็ตรายเดียวกัน (ISP) โปรโตคอลเช่น DHCP, PPPOE หรือ PPPOA ใช้เพื่อให้ที่อยู่และวิธีการเชื่อมต่ออินเทอร์เน็ต แต่มักจะไม่ใช่วิธีที่ผู้อื่นจะเชื่อมต่อกับคุณ หากคุณต้องการเรียกใช้เซิร์ฟเวอร์อินเทอร์เน็ตในการเชื่อมต่อที่คุณเสี่ยงต่อการสูญเสียที่อยู่ IP ของคุณทุกครั้งที่คุณเชื่อมต่อใหม่หรือในกรณีของ DHCP แม้ว่าจะมีการเจรจาใหม่
ด้วยการใช้ไคลเอนต์ DDNS เช่น inadyn คุณสามารถลงทะเบียนชื่ออินเทอร์เน็ตกับผู้ให้บริการ DDNS เช่น FreedNs ไคลเอนต์ DDNS จะอัปเดตบันทึก DNS ของคุณเป็นระยะและ/หรือตามความต้องการเมื่อที่อยู่ IP ของคุณเปลี่ยนไป Inadyn สามารถเก็บรักษาบันทึกโฮสต์หลายรายการด้วยที่อยู่ IP เดียวกันใช้การรวมกันของสคริปต์ที่อยู่จากอินเทอร์เฟซที่หันหน้าเข้าหาอินเทอร์เน็ตหรือค่าเริ่มต้นในการใช้เครื่องตรวจจับการเปลี่ยนแปลงที่อยู่ IP ของผู้ให้บริการ DDNS
-
addration ที่อยู่ IP สาธารณะเป็นค่าเริ่มต้นที่อยู่ส่วนตัวสามารถใช้งานได้
บริการเหล่านี้บางส่วนไม่มีค่าใช้จ่ายสำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์บางแห่งใช้ค่าธรรมเนียมเล็กน้อย แต่ยังมีโดเมนให้เลือกมากขึ้น
ผู้ให้บริการระดับหนึ่งต่อไปนี้ได้ทุ่มเท "ปลั๊กอิน" โดยเฉพาะแม้ว่าหลายคนจะแบ่งปันปลั๊กอิน Dyndns ดั้งเดิม ด้านล่างนี้เป็นรายการของผู้ให้บริการ DDN ที่รู้จักซึ่งสั่งซื้อโดยปลั๊กอินที่รองรับพวกเขา:
สำหรับรายการที่สมบูรณ์ให้ดูที่ inadyn -L สำหรับเอาท์พุท JSON ที่เป็นมิตรกับเครื่องใช้ inadyn -L -j
ผู้ให้บริการ DDNS ที่ไม่รองรับสามารถเปิดใช้งานได้โดยใช้ปลั๊กอินแบบกำหนดเองหรือทั่วไป DDNS ดูตัวอย่างด้านล่างสำหรับตัวอย่างการกำหนดค่า
ค่าเริ่มต้น In-A-Dyn เป็น HTTPS แต่ไม่ใช่ผู้ให้บริการทุกรายที่อาจสนับสนุนสิ่งนี้ดังนั้นลองใช้งาน SSL สำหรับการอัปเดต ( ssl = false ) หรือขั้นตอนการตรวจสอบ ( checkip-ssl = false ) ในส่วน provider ในกรณีที่คุณพบปัญหา
HTTPS ถูกเปิดใช้งานโดยค่าเริ่มต้น เนื่องจากจะช่วยปกป้องข้อมูลประจำตัวของคุณจากการถูกสอดแนมและลดความเสี่ยงของคนที่จี้บัญชีของคุณ
In-A-Dyn รองรับการอัปเดตเซิร์ฟเวอร์ DDNS หลายตัวบัญชีหลายบัญชีแม้กระทั่งผู้ให้บริการ DDNS ที่แตกต่างกัน ตัวอย่างต่อไปนี้ /etc/inadyn.conf แสดงให้เห็นว่าสิ่งนี้สามารถทำได้อย่างไร ในการตรวจสอบการกำหนดค่าของคุณโดยไม่ต้องเริ่ม daemon ให้ใช้:
inadyn --check-config
สิ่งนี้จะค้นหาไฟล์ .conf เริ่มต้นเพื่อตรวจสอบไฟล์ใด ๆ ใช้:
inadyn --check-config -f /path/to/file.conf
# In-A-Dyn v2.0 configuration file format
period = 300
user-agent = Mozilla/5.0
# The FreeDNS username must be in lower case
# The password (max 16 chars) is case sensitive
provider freedns {
username = lower-case-username
password = case-sensitive-pwd
hostname = some.example.com
}
# We override checkip server with the In-a-dyn built-in 'default',
# http://ifconfig.me/ip, for details on this, see below.
provider freemyip {
password = YOUR_TOKEN
hostname = YOUR_DOMAIN.freemyip.com
checkip-server = default
}
provider dyn {
ssl = false
username = charlie
password = snoopy
hostname = { peanuts, woodstock }
user-agent = Mozilla/4.0
}
provider duckdns.org {
username = YOUR_TOKEN
password = noPasswordForDuckdns
hostname = YOUR_DOMAIN.duckdns.org
}
# With multiple usernames at the same provider, index with :#
provider no-ip.com:1 {
username = ian
password = secret
hostname = flemming.no-ip.com
user-agent = inadyn/2.2
}
# With multiple usernames at the same provider, index with :#
provider no-ip.com:2 {
username = james
password = bond
hostname = spectre.no-ip.com
checkip-ssl = false
checkip-server = ifconfig.me
checkip-path = /ip
}
# With multiple usernames at the same provider, index with :#
provider no-ip.com:3 {
username = spaceman
password = bowie
hostname = spaceman.no-ip.com
checkip-command = "/sbin/ifconfig eth0 | grep 'inet6 addr'"
}
# Google Domains - notice use of '@' to update root entry
provider domains.google.com:1 {
hostname = @.mydomain.com
username = your_username
password = your_password
}
# Wildcard subdomains - notice the quotes (required!)
provider domains.google.com:2 {
hostname = "*.mydomain.com"
username = your_username
password = your_password
}
# Note: hostname == update-key from Advanced tab in the Web UI
provider tunnelbroker.net {
username = futurekid
password = dreoadsad/+dsad21321 # update-key-in-advanced-tab
hostname = 1234534245321 # tunnel-id
}
# dynv6.com update using a custom checkip-command, which works
# if you have access to an Internet-connected interface. Make
# sure to verify the command works on your system first
allow-ipv6 = true # required option for IPv6 atm.
provider dynv6.com {
username = your_token
password = not_used
hostname = { host1.dynv6.net, host2.dynv6.net }
checkip-command = "/sbin/ip -6 addr | grep inet6 | awk -F '[ t]+|/' '{print $3}' | grep -v ^::1 | grep -v ^fe80"
}
provider cloudxns.net {
username = your_api_key
password = your_secret_key
hostname = yourhost.example.com
}
provider dnspod.cn {
username = your_api_id
password = your_api_token
hostname = yourhost.example.com
}
# Create a unique custom API token with the following permissions:
# -> Zone.Zone - Read, Zone.DNS - Edit.
provider cloudflare.com {
username = zone.name
password = api_token_important_read_comment
hostname = hostname.zone.name
ttl = 1 # optional, value of 1 is 'automatic'.
proxied = false # optional.
}
provider goip.de {
username = user.name
password = user.password
hostname = hostname.zone.name
}
ขอให้สังเกตว่าการกำหนดค่ามีผู้ใช้สามคนที่แตกต่างกันของผู้ให้บริการที่ไม่มี IP ซึ่งสามารถทำได้โดยการต่อท้าย A :ID เข้ากับชื่อผู้ให้บริการ
นอกจากนี้เรายังกำหนดไดเรกทอรีแคชที่กำหนดเองค่าเริ่มต้นคือการใช้ /var/cache ในกรณีของเรา /mnt เป็นร้านค้าถาวรของระบบสำหรับแคชที่อยู่ IP ของคุณตามที่รายงานไปยังผู้ให้บริการแต่ละราย Inadyn ใช้สิ่งนี้เพื่อให้แน่ใจว่าคุณจะไม่ถูกล็อคออกจากบัญชีของคุณสำหรับการอัปเดตที่มากเกินไปซึ่งอาจเกิดขึ้นหากอุปกรณ์อินเทอร์เน็ตของอุปกรณ์ของคุณทำงาน Inadyn ติดอยู่ในการรีบูตลูปหรือคล้ายกัน
อย่างไรก็ตามเพื่อให้กลไกการแคชนั้นสามารถเข้าใจได้ 100% นาฬิการะบบจะต้องตั้งค่าอย่างถูกต้อง-หากคุณมีปัญหากับนาฬิการะบบที่ไม่ได้ตั้งค่าอย่างถูกต้องในการบูตเช่นรอการรับข้อความ NTP ให้ใช้ตัวเลือก --startup-delay=SEC คำสั่ง หากต้องการบอก inadyn มันก็โอเคที่จะดำเนินการก่อนหมดเวลา SEC ให้ใช้ SIGUSR2
ระบบสุดท้ายที่กำหนดไว้คือ IPv6 https://tunnelbroker.net บริการที่จัดทำโดย Hurricane Electric hostname ที่นี่ถูกตั้งค่าเป็น ID Tunnel และรหัสผ่าน จะต้อง เป็น ปุ่มอัปเดต ที่พบในแท็บการกำหนดค่า ขั้นสูง
หมายเหตุ:
checkip-commandสำหรับ DYNV6 ด้านบนเป็นเพียงวิธีเดียวที่จะทำ นี่คือตัวแปรอื่นจากสคริปต์ของตัวเอง:ip -6 addr list scope global $device | grep -v " fd" | sed -n 's/.*inet6 ([0-9a-f:]+).*/1/p' | head -n 1
บางครั้ง checkip-server เริ่มต้นสำหรับผู้ให้บริการ DDNS สามารถตอบสนองได้ช้าแม้จะหมดเวลา การสนับสนุน In-A-Dyn เอาชนะค่าเริ่มต้นของผู้ให้บริการด้วยคำสั่งที่กำหนดเองหรือคำสั่งที่กำหนดเอง วิธีที่ง่ายที่สุดในการเปลี่ยนคือการตั้งค่า checkip-server = default ในการกำหนดค่าผู้ให้บริการของคุณซึ่งเรียกใช้ in-dyn เพื่อใช้ http://ifconfig.me/ip ซึ่งเป็นค่าเริ่มต้นสำหรับการกำหนดค่า DDNS ที่กำหนดเองใด ๆ ดูหน้า Man หรือส่วนด้านล่างสำหรับข้อมูลเพิ่มเติม
ผู้ให้บริการบางรายต้องการการใช้เบราว์เซอร์เฉพาะเพื่อส่งการอัปเดตซึ่งสามารถแก้ไขได้โดยใช้การตั้งค่า user-agent = STRING ดังที่แสดงด้านบน มีให้บริการทั้งในระดับโลกและในระดับต่อผู้ให้บริการ
หมายเหตุ: ในการตั้งค่าเซิร์ฟเวอร์ผู้ใช้หลาย ๆ คนตรวจสอบให้แน่ใจว่าคุณได้รับ .conf ของคุณถึง 600 (อ่าน-เขียนโดยคุณ/รูทเท่านั้น) เพื่อป้องกันผู้ใช้รายอื่นที่อ่านข้อมูลรับรองเซิร์ฟเวอร์ DDNS ของคุณ
นอกเหนือจากผู้ให้บริการ DDNS เริ่มต้นที่ได้รับการสนับสนุนโดย Inadyn แล้วผู้ให้บริการ DDN ที่กำหนดเองสามารถกำหนดได้ในไฟล์ config ใช้ custom {} ในแทนส่วน provider {} ที่ใช้ในตัวอย่างด้านบน
In-A-Dyn ใช้การตรวจสอบความถูกต้องพื้นฐาน HTTP (เข้ารหัส Base64) เพื่อสื่อสารชื่อผู้ใช้และรหัสผ่านไปยังเซิร์ฟเวอร์ หากคุณไม่มีชื่อผู้ใช้และ/หรือรหัสผ่านคุณสามารถออกจากฟิลด์เหล่านี้ได้ การรับรองความถูกต้องพื้นฐานจะยังคงใช้ในการสื่อสารกับเซิร์ฟเวอร์ แต่มีชื่อผู้ใช้และรหัสผ่านที่ว่างเปล่า
ผู้ให้บริการ DDNS แบบกำหนดเองสามารถตั้งค่าได้เช่นนี้:
custom example {
username = myuser
password = mypass
checkip-server = checkip.example.com
checkip-path = /
ddns-server = update.example.com
ddns-path = "/update?hostname="
hostname = myhostname.example.net
}
ตัวแปรต่อไปนี้สามารถทดแทนการกำหนดค่า:
%u - username
%p - password, if HTTP basic auth is not used
%h - hostname
%i - IP address
สำหรับ https://www.namecheap.com มันสามารถดูได้ดังนี้ สังเกตว่าไวยากรณ์ชื่อโฮสต์แตกต่างจากด้านบนอย่างไร:
custom namecheap {
username = YOURDOMAIN.TLD
password = mypass
ddns-server = dynamicdns.park-your-domain.com
ddns-path = "/update?domain=%u&password=%p&host=%h&ip=%i"
hostname = { "@", "www", "test" }
ddns-response = "<ErrCount>0</ErrCount>"
}
ที่นี่มีการอัปเดตชื่อโฮสต์สามชื่อ HTTP หนึ่งรายการขออัปเดตสำหรับชื่อโฮสต์ทุกรายการ ผู้ให้บริการบางรายเช่น FreedNs สนับสนุนการตั้งค่า CNAME Records (นามแฝง) เพื่อลดจำนวนระเบียนที่คุณต้องอัปเดต FreedNs เริ่มต้นที่จะเชื่อมโยงหลายระเบียนเข้ากับการอัปเดตเดียวกันซึ่งอาจทำให้เกิดความสับสนหากคุณต้องการให้บันทึก DNS แต่ละรายการได้รับการอัปเดตจากที่อยู่ IP ที่ไม่ซ้ำกัน - ตรวจสอบให้แน่ใจว่าได้ ตรวจสอบการตั้งค่าของคุณที่ผู้ให้บริการ DDNS !
ปลั๊กอินทั่วไปยังสามารถใช้กับผู้ให้บริการที่ต้องใช้ที่อยู่ IP ใหม่ของลูกค้าในคำขออัปเดต นี่คือตัวอย่างของวิธีการนี้ถ้าเรา แกล้ง ทำเป็นว่า http://dyn.com ไม่ได้รับการสนับสนุนโดย Inadyn ddns-path แตกต่างกันระหว่างผู้ให้บริการและเป็นสิ่งที่คุณต้องคิดออก บางครั้งหน้าสนับสนุนแสดงรายการนี้ภายใต้ส่วน API หรือคล้ายกัน
# This emulates dyndns.org
custom dyn {
username = DYNUSERNAME
password = DYNPASSWORD
ddns-server = members.dyndns.org
ddns-path = "/nic/update?hostname=%h.dyndns.org&myip=%i"
hostname = { YOURHOST, alias }
}
ที่นี่มีการใช้ ddns-path แบบกำหนดเองอย่างสมบูรณ์พร้อมตัวระบุรูปแบบดูหน้า inadyn.conf(5) Man สำหรับรายละเอียดเกี่ยวกับเรื่องนี้
อีกตัวอย่างหนึ่ง:
# Custom configuration for dnsmadeeasy
custom dyn {
username = DNSMADEEASYUSERNAME
password = DNSMADEEASYPASSWORDFORTHISHOST
ddns-server = cp.dnsmadeeasy.com
ddns-path = "/servlet/updateip?username=%u&password=%p&id=DNSMADEEASYHOSTID&ip=%i"
hostname = HOST
}
เมื่อใช้ปลั๊กอินทั่วไปคุณควรตรวจสอบการตอบสนองจากผู้ให้บริการ DDNS ก่อน โดยค่าเริ่มต้น Inadyn จะมองหารหัสการตอบกลับ 200 HTTP รหัสและสตริง "good" , "OK" , "true" , "success" หรือ "updated" ในร่างกายตอบสนอง HTTP หากผู้ให้บริการ DDNS ส่งคืนอย่างอื่นคุณสามารถเพิ่มรายการของ ddns-response = { Arrr, kilroy } หรือเพียงแค่ ddns-response = Cool ถ้าผู้ให้บริการของคุณให้การ ddns-response = "" กลับใด ๆ
หากผู้ให้บริการ DDNS ของคุณไม่ได้ให้บริการ checkip-server คุณสามารถใช้บริการอื่น ๆ เช่น http://ifconfig.me/ip ซึ่งเป็นค่าเริ่มต้นหากคุณไม่ได้ระบุหนึ่งสำหรับการกำหนดค่าผู้ให้บริการที่กำหนดเอง:
checkip-server = ifconfig.me
checkip-path = /ip
checkip-ssl = false
หรือแม้แต่ใช้สคริปต์หรือคำสั่ง:
checkip-command = /sbin/ifconfig eth0 | grep 'inet addr'
การตั้งค่าทั้งสองนี้ยังสามารถใช้ในส่วน provider{}
หมายเหตุ: ต้องมี hostname แม้ว่าทุกอย่างจะถูกเข้ารหัสใน ddns-path ! ชื่อโฮสต์ที่กำหนดจะถูกผนวกเข้ากับ ddns-path ที่ใช้สำหรับการอัปเดตเว้นแต่คุณจะใช้การตั้งค่า append-myip ซึ่งในกรณีนี้ที่อยู่ IP ของคุณจะถูกผนวกเข้าแทน เมื่อใช้ append-myip คุณอาจต้องเข้ารหัสชื่อโฮสต์ DNS ของคุณใน ddns-path แทนเช่นเดียวกับที่ทำในตัวอย่างสุดท้ายข้างต้น
ปัญหาที่พบบ่อยคือการเริ่มต้นซึ่งเป็นที่เข้าใจได้เนื่องจาก In-A-Dyn มีตัวเลือกที่สับสนมากมาย
ต้องบันทึก /etc/inadyn.conf ของคุณก่อนอื่นลองเริ่มต้นในเบื้องหน้าด้วยบันทึกการดีบักเต็มรูปแบบ:
inadyn -l debug --foreground --force
การกำหนดค่าผิดพลาดหรือการตอบสนองของเซิร์ฟเวอร์ที่ไม่ดีควรเป็นเรื่องง่ายกว่ามาก อย่าลืมตรวจสอบบันทึกของคุณจากรหัสผ่านและข้อมูลโดเมนใด ๆ หากคุณยื่นรายงานข้อผิดพลาดหรือถามคำถามในฟอรัม/IRC!
ลองล้างแคช:
sudo systemctl stop inadyn.servicesudo rm -rf /var/cache/inadyn/*sudo systemctl restart inadyn.service เป็นเวลานานโครงการยังคงรักษาบรรจุภัณฑ์ .deb ของตัวเองและโครงสร้างพื้นฐาน APT พื้นฐาน อย่างไรก็ตามระดับที่เพิ่มขึ้น .deb คุณสมบัติใน In-A-Dyn และจำนวนการพึ่งพารวมถึงความต้องการในการสนับสนุนสถาปัตยกรรมและการแจกแจงที่แตกต่างกันมากขึ้น
ตอนนี้โครงการ Debian มีผู้ดูแลที่ใช้งานอยู่สำหรับ Inadyn ซึ่งเป็นต้นน้ำสำหรับ Ubuntu และอื่น ๆ โปรดรายงานปัญหาและการร้องขอการแจกจ่ายของคุณ:
หมายเหตุ: ไฟล์บรรจุภัณฑ์ของโครงการถูกย้ายไปยังสาขา Debian แยกต่างหากในที่เก็บ Git ไม่ได้รับการปรับปรุงหรือสนับสนุนอย่างแข็งขันสำหรับการเผยแพร่ หากต้องการใช้ให้ตรวจสอบสาขาและแก้ไข
debian/changelog) เพื่อสร้างไฟล์.debใหม่สำหรับระบบของคุณ
ภาพที่สร้างขึ้นโดยอัตโนมัติที่นี่:
Dockerfile มีให้เพื่อความซับซ้อนของอาคารและใช้งาน inadyn
docker build -t inadyn:latest .
docker run --rm -v "$PWD/inadyn.conf:/etc/inadyn.conf" inadyn:latest
หากคุณไม่ต้องการเรียกใช้ In-A-Dyn เป็นพื้นหลังคุณสามารถตั้งค่า cronjob:
inadyn.conf ของคุณcrontab -e * * * * * docker run --rm -v " path/to/inadyn.conf:/etc/inadyn.conf " -v " path/to/cache:/var/cache/inadyn " troglobit/inadyn:latest -1 --cache-dir=/var/cache/inadyn > /dev/null 2>&1หากต้องการเรียกใช้เวอร์ชันที่เสถียรล่าสุดบน MacOS ให้พิมพ์:
brew install inadyn
หากต้องการเรียกใช้เวอร์ชันล่าสุดจาก Master Branch ให้ติดตั้ง Git Tap แทน:
brew install --HEAD troglobit/inadyn/inadyn
อย่างใดอย่างหนึ่งเหล่านี้จะติดตั้งการพึ่งพาทั้งหมด
นอกจากนี้คุณยังสามารถติดตั้ง In-A-Dyn บน MacOS โดยใช้ MacPorts:
sudo port install inadyn
คุณสามารถค้นหาข้อมูลเพิ่มเติมได้ที่หน้าพอร์ตของ In-Dyn
ดาวน์โหลดครั้งแรกอย่างเป็นทางการล่าสุดในการเปิดตัว In-A-Dyn จาก GitHub:
In-A-Dyn ต้องการห้องสมุดสองสามแห่งในการสร้าง ระบบสร้างค้นหาพวกเขาในเวอร์ชันที่ต้องการโดยใช้เครื่องมือ pkg-config :
มีให้บริการจากการแจกแจง UNIX ส่วนใหญ่เป็นแพ็คเกจที่สร้างไว้ล่วงหน้า ตรวจสอบให้แน่ใจว่าได้ติดตั้งแพ็คเกจ -dev หรือ -devel ของแพ็คเกจการกระจายเมื่อสร้าง inadyn บน Debian/Ubuntu (อนุพันธ์):
$ sudo apt install gnutls-dev libconfuse-dev
ในการสร้างคุณต้องมีคอมไพเลอร์ C เครื่องมือ pkg-config และทำ:
$ sudo apt install build-essential pkg-config
เมื่อสร้างด้วยการสนับสนุน HTTPS (SSL/TLS) ตรวจสอบให้แน่ใจว่าได้ติดตั้งแพ็คเกจ ca-certificates ในระบบของคุณมิฉะนั้น inadyn จะไม่สามารถตรวจสอบใบรับรอง HTTPS ของผู้ให้บริการ DDNS ได้
GNU กำหนดค่าและสร้างระบบใช้ /usr/local เป็นคำนำหน้าการติดตั้งเริ่มต้น ในหลายกรณีสิ่งนี้มีประโยชน์ แต่นี่หมายความว่าไฟล์การกำหนดค่าและไฟล์แคชจะใช้คำนำหน้าเดียวกัน ผู้ใช้ส่วนใหญ่คาดหวังว่าไฟล์เหล่านั้นใน /etc/ และ /var/run/ และการกำหนดค่ามีตัวเลือกที่มีประโยชน์เล็กน้อยที่แนะนำให้ใช้:
$ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
$ make -j5
$ sudo make install-strip
คุณอาจต้องการลบตัวเลือก --prefix=/usr
โดยค่าเริ่มต้น Inadyn พยายามสร้างด้วย gnutls สำหรับการสนับสนุน HTTPS Gnutls เป็นไลบรารี SSL ที่แนะนำในการใช้ในการแจกแจง UNIX ซึ่งไม่ได้ให้ OpenSSL/Libressl เป็นไลบรารีระบบ อย่างไรก็ตามเมื่อ OpenSSL หรือ Libressl พร้อมใช้งานเป็นไลบรารีระบบตัวอย่างเช่นในระบบฝังตัวหลายระบบ:
./configure --enable-openssl
เพื่อปิดการสนับสนุน Inadyn https อย่างสมบูรณ์ (ไม่แนะนำ!):
./configure --disable-ssl
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับปัญหาใบอนุญาต OpenSSL และ GNU GPL โปรดดู:
บางคนต้องการสร้างแบบคงที่เพื่อทำสิ่งนี้ด้วย autoconf เพิ่ม LDFLAGS= หลังจาก สคริปต์การกำหนดค่า คุณอาจต้องเพิ่ม LIBS=... ซึ่งจะขึ้นอยู่กับระบบเฉพาะของคุณ:
./configure LDFLAGS="-static" ...
ในบางระบบเส้นทางการติดตั้งกำหนดค่าเริ่มต้น /usr/local ถูกปิดใช้งานและไม่ได้ค้นหาด้วยเครื่องมือเช่น ldconfig และ pkg-config ดังนั้นหากกำหนดค่าล้มเหลวในการค้นหาไลบรารี libconfuse หรือไฟล์ .pc ให้สร้างไฟล์ /etc/ld.so.conf.d/local.conf ด้วยเนื้อหานี้:
/usr/local/lib
อัปเดตแคช Linker:
sudo ldconfig -v |egrep libconfuse
และเรียกใช้สคริปต์การกำหนดค่า inadyn เช่นนี้:
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
สำหรับ SystemD Integration คุณต้องติดตั้ง pkg-config ซึ่งจะช่วยให้ Inadyn Build System ค้นหาเส้นทาง SystemD เมื่อติดตั้งเพียงแค่โทร systemctl เพื่อเปิดใช้งานและเริ่ม inadyn :
$ sudo systemctl enable inadyn.service
$ sudo systemctl start inadyn.service
ตรวจสอบว่ามันเริ่มต้นอย่างถูกต้องโดยการตรวจสอบบันทึกระบบหรือ::
$ sudo systemctl status inadyn.service
เพื่อหยุดบริการ:
$ sudo systemctl stop inadyn.service
เมื่อสร้างขึ้นในเราเตอร์คุณสมบัติบางอย่างไม่ได้ใช้และสามารถปิดการใช้งานเพื่อประหยัดพื้นที่ ตัวเลือกการกำหนดค่า --enable-reduced จะสร้างไบนารีที่ลดลง ปัจจุบันสิ่งนี้ปิดใช้งานข้อความบันทึก verbose และสตริงข้อผิดพลาดและกำจัดการตรวจสอบไฟล์กำหนดค่าและความเข้ากันได้ย้อนหลัง
หากคุณต้องการมีส่วนร่วมหรือเพียงแค่ลองใช้คุณสมบัติล่าสุด แต่ยังไม่เผยแพร่คุณต้องรู้บางสิ่งเกี่ยวกับระบบการสร้าง GNU:
configure.ac และ Makefile.am ต่อไดเรกทอรีเป็นไฟล์คีย์configure และ Makefile.in ถูกสร้างขึ้นจาก autogen.sh พวกเขาจะไม่ถูกเก็บไว้ใน Git แต่สร้างขึ้นโดยอัตโนมัติสำหรับการปล่อย tarballsMakefile ถูกสร้างขึ้นโดย configure สคริปต์ เพื่อสร้างจาก Git; โคลนที่เก็บและเรียกใช้สคริปต์ autogen.sh สิ่งนี้ต้องใช้เครื่องมือ GNU automake , autoconf และ libtool ที่จะติดตั้งในระบบของคุณ Tarballs ที่ปล่อยออกมาไม่ต้องการเครื่องมือเหล่านี้
$ sudo apt install git automake autoconf
จากนั้นคุณสามารถโคลนที่เก็บและสร้างสคริปต์ configure ซึ่งไม่ได้เป็นส่วนหนึ่งของ GIT repo:
git clone https://github.com/troglobit/inadyn.git
cd inadyn/
./autogen.sh
./configure && make
การสร้างจาก Git ต้องการอย่างน้อยการพึ่งพาห้องสมุดที่กล่าวถึงก่อนหน้านี้ แหล่งข้อมูล GIT เป็นเป้าหมายที่เคลื่อนไหวและไม่แนะนำสำหรับระบบการผลิตเว้นแต่คุณจะรู้ว่าคุณกำลังทำอะไรอยู่!
นี่คือความต่อเนื่องของ Inadyn ดั้งเดิมของ Narcis Ilisei ตอนนี้ดูแลโดย Joachim Wiberg โปรดยื่นรายงานข้อผิดพลาดหรือส่งคำขอดึงสำหรับการแก้ไขข้อผิดพลาดและส่วนขยายที่เสนอที่ GitHub
ขอบคุณส่วนตัว! ออกไปที่ Robert Högbergผู้สนับสนุนเราเตอร์ D-Link Dir-645 ตัวเล็ก ๆ เพื่อที่ฉันจะได้กลับมาที่ interwebs :-)