ifconfig-push: alamat rakan dalam net30 atau netmask subnet?
Argumen kedua ifconfig-push ialah alamat rakan dalam net30 dan netmask di bawah topology subnet. Bandingkan topologi yang sedang berjalan sebelum mengedit fail CCD.
Klien dinamik berhubung dan menghala dengan baik, tetapi satu klien dengan alamat tetap langsung tidak dapat mencapai pelayan. Tiada apa-apa berubah dalam firewall, dan baris CCD kelihatan munasabah. Punca biasa ialah argumen kedua yang ditulis untuk topologi TUN berbeza daripada yang dijalankan oleh pelayan. Kegagalan ini senyap: klien naik dengan alamat dan pelayan menerima sambungan, namun tiada trafik melintas.
Dalam net30 medan itu ialah alamat rakan; dalam subnet ia ialah netmask. Kedua-dua bentuk adalah alternatif, bukan urutan.
Kedua-dua bentuk, bersebelahan
Dalam penggunaan net30 tradisional setiap klien memiliki blok /30: alamat rangkaian, dua alamat boleh guna dan satu alamat siaran. ifconfig-push mengambil alamat klien dan alamat rakan, dan rakan ialah alamat boleh guna yang satu lagi dalam blok yang sama, digunakan oleh bahagian pelayan pautan titik-ke-titik.
# net30: client address and its peer
ifconfig-push 10.99.0.6 10.99.0.5
# topology subnet: client address and the pool netmask
ifconfig-push 10.99.0.20 255.255.255.0
Di bawah topology subnet klien berkongsi satu subnet dengan pelayan, dan arahan yang sama mengambil alamat dan netmask. Alamat pelayan sendiri datang daripada arahan server, bukan daripada medan kedua. Mencampurkan kedua-dua bentuk menghasilkan klien yang percaya ia berada pada pautan titik-ke-titik sementara pelayan menghalanya sebagai hos subnet, atau sebaliknya. Itulah sebabnya netmask tidak boleh sekali-kali dipasangkan dengan net30.
Kedua-dua baris dalam blok itu ialah baris tunggal untuk fail CCD. Satu klien mendapat tepat satu daripadanya.
Baca topologi yang sebenarnya dijalankan oleh pelayan
Baca konfigurasi yang berjalan dan bukan lalai pakej, kerana topologi mungkin ditetapkan bertahun-tahun lalu dan disalin ke hadapan. Cari topology subnet atau ketiadaannya, kemudian periksa bagaimana baris server memperuntukkan alamat. Konfigurasi yang tidak pernah menyebut topologi bukan sama dengan yang menetapkan subnet.
Kemudian baca tetapan yang diterima klien. Alamat, mask dan rakan yang dilaporkannya memberitahu anda tafsiran mana yang digunakan oleh pelayan.
Jauhkan alamat tetap daripada kumpulan dinamik
Alamat tetap mesti berada di luar kumpulan dinamik, jika tidak dua klien boleh diberi alamat yang sama. Dengan topologi subnet, nopool pada baris server menyekat kumpulan automatik, dan julat ifconfig-pool yang jelas menentukan apa yang diterima oleh klien dinamik.
dev tun
topology subnet
server 10.99.0.0 255.255.255.0 nopool
ifconfig-pool 10.99.0.100 10.99.0.210 255.255.255.0
client-config-dir /etc/openvpn/ccd
Pelayan mengambil 10.99.0.1 untuk dirinya, dan alamat klien tetap berada di luar julat kumpulan. Fail CCD dinamakan sempena identiti klien berkesan, bukan nama fail profil, dan ia tidak mengambil sambungan tambahan. Jika username-as-common-name aktif, nama pengguna yang disahkan ialah identiti yang perlu dipadankan. Dua peranti yang berkongsi satu identiti juga akan berkongsi alamat tetap, yang merupakan masalah dasar dan bukan masalah penghalaan.
Sahkan peruntukan yang sebenarnya diterima oleh klien
Sambung semula klien yang dimaksudkan dan sahkan fail CCD mana yang dipilih sebelum memeriksa apa-apa lagi. Kemudian sahkan alamat, mask atau rakan, dan laluan balik ke pelayan. Klien yang menunjukkan alamat rakan dalam penggunaan subnet masih menggunakan bentuk yang salah.
Menukar topologi menjejaskan setiap klien dan setiap override, jadi anggap ia sebagai migrasi dan bukan pembaikan satu klien. Membetulkan baris statik agar sepadan dengan topologi yang sudah digunakan biasanya perubahan yang lebih kecil. Rujukan server-options mendokumenkan pembantu dan override khusus klien.