Pertanyaan 1.) Maaf, sepertinya Anda salah memahami beberapa hal.
dhcpcd
adalah klien DHCP daemon, yang biasanya dimulai oleh NetworkManager atau ifupdown
, tidak langsung dengan systemd
. Ini yang akan menangani penetapan alamat IP untuk wlan0
Anda .
Anda bisa gunakan dhcpcd
seperti yang dimulai oleh systemd
jika Anda mau, bagaimanapun itu akan membutuhkan penonaktifan semua logika konfigurasi antarmuka jaringan normal (yaitu /etc/network/interfaces
harus kosong dari baris non-komentar) dari distribusi dan menggantinya dengan skrip kustom Anda sendiri jika diperlukan. Itu hanya untuk penggunaan khusus; jika Anda tidak benar-benar yakin harus melakukannya, jangan lakukan.
dhcpcd
tidak akan pernah menyajikan alamat IP ke host lain mana pun. Bagian ini Anda tambahkan ke dhcpcd.conf
sepertinya itu milik file konfigurasi ISC DHCP server daemon, dhcpd
(ya itu hanya perbedaan satu huruf) sebagai gantinya:
host Accountant {
hardware ethernet 10:60:4b:68:03:21;
fixed-address 192.168.2.83;
}
host Accountant1 {
hardware ethernet 00:0c:29:35:95:ed;
fixed-address 192.168.2.66;
}
host Accountant3 {
hardware ethernet 30:85:A9:1B:C4:8B;
fixed-address 192.168.2.70;
}
Tetapi jika Anda mengikuti tutorial YouTube yang Anda sebutkan, Anda mungkin tidak memiliki dhcpd
diinstal, sejak dnsmasq
seharusnya melakukan pekerjaan itu.
Sejauh yang saya tahu, sintaks yang setara untuk dnsmasq.conf
akan menjadi:
dhcp-host=10:60:4b:68:03:21,192.168.2.83,Accountant
dhcp-host=00:0c:29:35:95:ed,192.168.2.66,Accountant1
dhcp-host=30:85:A9:1B:C4:8B,192.168.2.70,Accountant3
Penafian:Saya belum benar-benar menggunakan dnsmasq
, jadi ini berdasarkan Googling halaman manualnya dengan cepat.
Pertanyaan 2.) Dalam tutorial yang Anda sebutkan, dnsmasq
seharusnya bertindak sebagai server DHCP pada eth0
. Anda tidak mengatakan apa-apa tentang itu, jadi saya tidak tahu apakah itu berjalan atau tidak. Jika tidak, satu klien yang selalu mendapatkan IP yang sama mungkin hanya kembali ke sewa DHCP lama yang diterima sebelumnya yang belum kedaluwarsa. Ya, klien DHCP dapat menyimpan sewa DHCP secara terus-menerus dan tetap menggunakannya jika jaringan tampaknya tidak memiliki server DHCP yang berfungsi.
Pertanyaan 3.):/etc/network/interfaces
adalah file konfigurasi antarmuka jaringan gaya Debian/Ubuntu klasik. Gunakan man interfaces
untuk melihat dokumentasinya, atau lihat di sini.
Di Debian, *Ubuntu, Raspbian dll., NetworkManager akan memiliki plug-in yang akan membaca /etc/network/interfaces
tetapi tidak mau menulis untuk itu.
Jika alat konfigurasi NetworkManager seperti nmcli
, nmtui
atau alat konfigurasi NetworkManager berbasis GUI dari lingkungan desktop pilihan Anda digunakan, konfigurasi akan disimpan ke file di /etc/NetworkManager/system-connections/
direktori sebagai gantinya.
Jika NetworkManager tidak diinstal, /etc/network/interfaces
file digunakan oleh ifupdown
paket, yang menyertakan perintah ifup
dan ifdown
. Paket ini juga menyertakan skrip start-up sistem yang akan menjalankan ifup -a
saat boot, mengaktifkan semua antarmuka jaringan yang memiliki auto <interface name>
di /etc/network/interfaces
. Ada juga aturan udev yang akan menjalankan ifup <interface name>
jika driver untuk antarmuka jaringan baru dimuat secara otomatis dan /etc/network/interfaces
memiliki allow-hotplug <interface name>
baris untuk itu.
Saya menemukan alasan untuk "kesalahan" ini.
dhcpcd
menggunakan semacam "perlindungan noob/newbie", yang menjamin cara yang aman untuk menangani manajemen jaringan, jika beberapa "noob/newbie" mencoba menggunakan keduanya dhcpcd
dan /etc/interfaces
.
dhcpcd
periksa /etc/interfaces
dengan skrip shell berikut /usr/lib/dhcpcd5/dhcpcd
:
#!/bin/sh -e
DHCPCD=/sbin/dhcpcd
INTERFACES=/etc/network/interfaces
if grep -q -E "^[[:space:]]*iface[[:space:]]*.*[[:space:]]*inet[[:space:]]*(dhcp|static)" \
$INTERFACES; then
echo "Not running dhcpcd because $INTERFACES"
echo "defines some interfaces that will use a"
echo "DHCP client or static address"
exit 6
fi
exec $DHCPCD [email protected]
Saya hanya mengganti baris
if grep -q -E "^[[:space:]]*iface[[:space:]]*.*[[:space:]]*inet[[:space:]]*(dhcp|static)" \
dengan menghapus |static
argumen, untuk
if grep -q -E "^[[:space:]]*iface[[:space:]]*.*[[:space:]]*inet[[:space:]]*(dhcp)" \
dan sesuaikan baris gema terakhir ke:
echo "DHCP client"
PS pastikan untuk menambahkan denyinterfaces "NAME OF YOUR STATIC INTERFACE, WHICH SHALL BE CONTROLLED ONLY BY /etc/interfaces"
, misalnya denyinterfaces eth0
ke /etc/dhcpcd.conf
Anda .