Debian 7 bagaimana cara menetapkan alamat lokal tautan IPv6?

12

Sepertinya ketika dhclient berjalan pada eth0 saya mendapatkan alamat IPv4 dari server DHCP dan sebuah Scope: Tautan alamat IPv6 terlampir pada eth0:

inet6 addr: fe80::a00:27ff:fed0:4d41/64 Scope:Link

Tapi saya tidak bisa melihat dari skrip dhclient bagaimana alamat itu ditambahkan. Pada antarmuka lain dengan alamat IP statis, saya ingin menambahkan tautan alamat IPv6 lokal, dan saya bertanya-tanya apakah ada perintah umum untuk melakukan itu tanpa mengetahui mac.

Sunting:
Sepertinya kernel memberikan alamat lokal tautan ketika Anda melakukan "ip link atur dev ethX up" atau "ifconfig ethX up". Namun, dalam kasus saya, saya memiliki kabel yang terhubung ke antarmuka yang DHCP'ing dan tidak ada kabel yang terhubung ke antarmuka saya mengatur secara statis. Tidak dapat memverifikasi hingga Senin, tetapi saya menduga kernel tidak menetapkan alamat tautan lokal ke antarmuka jika tidak ada tautan.

Harun
sumber
2
Tidak ada hubungannya dengan yang lain.
Michael Hampton
2
Aku mengerti itu. Namun, karena menjalankan dhclient Anda mendapatkan alamat IPv6LL, tetapi ketika Anda menetapkan alamat IPv4 statis, Anda tidak mendapatkannya. Jadi beberapa efek samping dari beberapa perintah yang dijalankan oleh dhclient mengesetnya ..
Aaron
1
Tidak, Anda tidak mendapatkan alamat tautan-lokal IPv6 dari menjalankan dhclient.
Michael Hampton

Jawaban:

7

Tautkan alamat lokal berasal dari alamat MAC perangkat. Mereka dihasilkan secara otomatis sebagai bagian dari membawa antarmuka. Konfigurasi otomatis mencakup proses penemuan untuk memastikan bahwa alamat tersebut unik di jaringan.

Proses serupa digunakan untuk mengonfigurasi otomatis alamat yang dapat dirutekan ketika iklan router tersedia. Alamat-alamat ini dapat dibuat ulang secara berkala untuk memberikan privasi.

RFC 4862 menentukan proses yang harus diikuti.

BillThor
sumber
1
"Mereka dihasilkan secara otomatis sebagai bagian dari membawa antarmuka". Benar, ini yang saya cari, siapa yang melakukan autogenerasi? Ini tidak dihasilkan secara otomatis ketika Anda menetapkan alamat IPv4 statis, tetapi saat dhclient berjalan. Jadi apakah dhclient mengimplementasikan RFC 4862, atau apakah itu efek samping dari beberapa perintah dalam skrip dhclient? Bagaimana cara saya menyalinnya pada antarmuka statis tanpa menulis implementasi RFC 4862 saya sendiri?
Aaron
otomatis dihasilkan oleh kernel, tampaknya, lihat edit di atas.
Aaron
6

Menemukannya! Perintah ini tidak cukup:

ifconfig eth0 up

Sebaliknya saya harus melakukan:

ifconfig eth0 up
sysctl -w net.ipv6.conf.eth0.disable_ipv6=0

Hanya yang terakhir mengembalikan alamat lokal tautan IPv6 di eth0.

Dengan kata lain, distro saya tampaknya memiliki beberapa kode yang disembunyikan di suatu tempat yang berubah secara dinamis net.ipv6.conf.eth0.disable_ipv6setiap kali diminta untuk membawa jaringan naik atau turun. Jarak tempuh Anda mungkin beragam.

Saya sampai di bagian bawah ini berkat hanya:

sysctl -a | grep ipv6
Maret
sumber
Ngomong-ngomong, saya tidak bisa mengerti mengapa distro saya membalik disable_ipv6: begitu tautannya diturunkan, itu membuat perbedaan.
MarcH
Ini berlaku sempurna untuk Ubuntu 16.04. Terima kasih.
Cbhihe