Klien VPN melakukan ping ke pelayan fail, menyelesaikan namanya dan masih tidak boleh membuka perkongsian. Dasar hos Samba ialah salah satu daripada empat lapisan yang boleh menolak sambungan itu, dan itulah yang orang edit paling akhir. Senarai kebenaran dinilai terhadap alamat sumber yang benar-benar diterima smbd, dan ia mungkin bukan alamat yang klien sangka dimilikinya. Menentukan sumber itu dengan betul menukar masalah kebenaran yang kabur menjadi perubahan konfigurasi satu baris.

Empat lapisan yang gagal dengan mesej yang sama

Penolakan boleh datang dari laluan, tembok api hos, dasar hos Samba atau identiti SMB. Setiap lapisan menghasilkan mesej kepada klien yang mengatakan lebih kurang perkara yang sama, sebab itu meneka menghabiskan satu petang. Menyusun semakan dari rangkaian ke dalam menghapuskan sebahagian besar tekaan.

Mulakan dengan pengangkutan. Jika port 445 tidak pernah sampai ke pelayan, tiada tetapan Samba yang penting, dan tangkapan pada antara muka pelayan menyelesaikannya dalam beberapa saat. Seterusnya ialah tembok api hos pada pelayan itu sendiri, yang boleh membuang sumber yang dibenarkan sebelum smbd melihatnya. Hanya selepas kedua-duanya lulus, senarai kebenaran menjadi calon. Pengesahan datang terakhir, kerana kegagalan log masuk dan penolakan hos kelihatan berbeza dalam log pelayan, walaupun klien melaporkan kedua-duanya sebagai akses ditolak. Urutan lebih penting daripada alat, kerana setiap lapisan mempunyai arahan yang menjawabnya.

Cari alamat sumber yang benar-benar dilihat smbd

Dengan akses melalui laluan, pelayan biasanya melihat alamat klien daripada kumpulan VPN. Dengan terjemahan sumber pada get laluan, ia melihat alamat LAN get laluan itu sebaliknya, dan setiap klien di belakang get laluan itu menjadi tidak dapat dibezakan.

Perbezaan itu menentukan sama ada entri senarai kebenaran ialah dasar atau lubang. Membenarkan alamat get laluan yang diterjemah menerima semua orang di belakangnya, yang jarang dimaksudkan oleh peraturan setiap klien. Baca sumber itu pada pelayan dan bukan daripada tanggapan klien tentang alamatnya sendiri. Tangkapan pada antara muka pelayan ialah cara paling murah untuk melihatnya, dan tangkapan yang sama membuktikan sama ada paket itu sampai. Hadkan tangkapan dengan bilangan paket dan tambah penapis hos apabila anda tahu klien mana yang diikuti. Jadual sesi Samba ialah separuh lagi jawapan: dalam smbstatus -b lajur klien pada setiap baris sesi ialah rakan yang direkodkan smbd, dan itu pengesahan terpantas bagi alamat yang benar-benar sampai ke perkhidmatan.

sudo tcpdump -ni any -c 20 'tcp port 445'
sudo smbstatus -b
ss -tnp | grep ':445'

Baca senarai kebenaran seperti Samba membacanya

Tetapan hosts allow mengambil senarai alamat, rangkaian atau nama, dan ia boleh muncul secara global atau di dalam perkongsian. Dua entri yang kelihatan setara kepada anda mungkin tidak setara kepada penghurai, jadi konfigurasi berkesan ialah perkara yang perlu diperiksa. Itu bermaksud paparan bergabung dan bukan fail yang anda edit secara kebetulan.

Sepasang awalan ilustrasi kelihatan seperti baris di bawah, dan ia contoh dan bukan pengganti entri yang sudah ada. Kekalkan klien pentadbiran dan aplikasi yang bersambung secara sah hari ini, dan baca mana-mana senarai sekatan dalam pas yang sama. Sama ada hos diterima bergantung pada dasar secara keseluruhan, jadi uji klien yang tepat dan bukan menaakul tentang keutamaan. Kebenaran hos juga tidak menyatakan apa-apa tentang kebenaran perkongsian atau mod sistem fail, yang merupakan pintu berasingan. Kejayaan alat ujian bermaksud dasar hos menerima sumber itu, dan tidak lebih.

hosts allow = 192.168.50.0/24 10.90.0.0/24
testparm -s
testparm -s /etc/samba/smb.conf client.example 10.90.0.14

Tukar fail yang kekal selepas but semula

Pada hos Linux biasa laluan konfigurasi adalah tetap dan perkhidmatan membacanya semula semasa mula semula. Pada penghala atau perkakas, smb.conf yang berjalan sering dijana semasa but, dan suntingan manual hilang pada but semula berikutnya. Gunakan mekanisme penyesuaian yang disokong perkakas, yang biasanya fail konfigurasi tersendiri.

Godaan pada peringkat ini ialah mem-flash firmware alternatif kerana satu utas melaporkan ia berfungsi. Itu perubahan besar untuk masalah dasar yang kecil, dan ia mengeluarkan peranti daripada keadaan yang disokong. Kenal pasti kawalan yang disokong dahulu, kerana kebanyakan perkakas memaparkan senarai kebenaran melalui antara muka mereka sendiri. Jika mereka benar-benar tidak melakukannya, batasan itu ialah hujah untuk perkakasan lain dan bukan untuk binaan yang tidak disokong.

Catat fail mana yang anda ubah dan apa yang menjananya semula, supaya orang seterusnya tidak mengulangi diagnosis.

Uji satu klien yang dibenarkan dan satu yang dikecualikan

Uji kedua-dua hasil, bukan hanya yang anda mahu. Klien yang dibenarkan dan bersambung membuktikan perubahan itu berfungsi; klien yang dikecualikan dan masih ditolak membuktikan peraturan itu tidak semata-mata membuka segala-galanya.

smbclient -L //fileserver -U alice
sudo testparm -s /etc/samba/smb.conf alice-laptop 10.90.0.14
sudo tail -n 40 /var/log/samba/log.smbd

Apabila sambungan tidak pernah sampai ke smbd, jawapannya ada pada penghalaan atau tembok api pelayan. Jika hos dibenarkan dan log masuk gagal, masalahnya ialah identiti dan meluaskan senarai kebenaran lagi tidak akan membantu. Simpan output diagnostik sebagai peribadi, kerana log Samba yang terperinci boleh mendedahkan laluan perkongsian dan nama akaun. Tukar satu lapisan setiap percubaan, jika tidak keputusan seterusnya tidak memberitahu anda apa-apa.

Artikel berkaitan