Genel bakış
Bu makale , config.gateway.json dosyasını kullanarak Ubnt Security Gateway’de UniFi – USG Gelişmiş Yapılandırma nasıl yapıldığını açıklayacağım.
Giriş
UniFi – USG Gelişmiş Yapılandırma , Config.gateway.json web GUI bulunmayan USG özel değişiklikler Ubnt UniFi Controller dosya sistemi oturur ve sağlayan bir dosyadır. Bazı olası özelleştirmeler şöyle olacaktır: siteden siteye VPN’leri ana bilgisayar adlarıyla yapılandırma, belirli trafiği WAN2’ye yönlendiren politika, hatta bir ara birime birden çok IP adresi ekleme. Bu özellikler henüz UniFi Controller GUI’de mevcut değildir, bu nedenle config.gateway.json dosyası GUI’de bulunana kadar bu özellikleri tamamlayacaktır.
Config.gateway.json dosyası üzerinden kişiselleştirmeler yaparken , sadece kontrolör kullanıcı arayüzü ile gerçekleştirilemeyen özelleştirmeleri girmek en iyisidir. Biçimlendirme yanlışsa, USG’de bir sağlama döngüsü tetiklenir ve USG sağlama döngüsünden çıktığında yeniden başlatma gerçekleşir. Bu noktada config.gateway.json dosyası, düzeltmek için düzeltilebilir veya kaldırılabilir.
UYARI: Bazı kullanıcılar, tam yapılandırma işlevini kullanarak kurtulabileceklerini bulabilir, ancak bu büyük olasılıkla yollarda sorunlara neden olacağı için önerilmez. Config.gateway.json dosyasındaki bir ayar ile çakışan denetleyici kullanıcı arayüzünde bir ayar değiştirildiğinde, bir hazırlık döngüsü gerçekleşebilir.
Config.gateway.json Dosyasını Oluşturma
Varsayılan olarak, config.gateway.json dosyası mevcut değildir, kullanmak için oluşturulması gerekir.
1. TextEdit veya Notepad ++ gibi bir metin düzenleyicisini kullanarak yeni bir dosya oluşturun.
2. Bir json dosyasının yapısı, kelimeler kadar önemlidir. Braketlerin yanlış yerleştirilmesi, girintiler, satır kesmeleri veya diğer yapısal elemanlar json dosyasını geçersiz kılar. Metnin doğru sözdizimine sahip olduğunu doğrulamak için metni bir json validator üzerinden çalıştırmanız önerilir. JSON Biçimlendirici web sitesi online bulacaksınız json doğrulayıcılarının birçok seçenek bir örnektir.
3. Dosyanın içeriği doğrulandıktan sonra, config.gateway.json adını vererek ve Denetleyicide depolanan <unifi_base> / data / sites / site_ID dizini altına koyarak kaydedin.
Kullanıcı İpucu: İşletim sisteminize bağlı olarak, dosyayı bu dizinin altına yerleştirmek, sürükle ve bırak kadar basit olabilir veya bir FTP sunucusu kullanmak gerekebilir.
<unifi_base> konumu bir işletim sisteminden diğerine değişecektir. SITE_ID Kontrolör web sayfasında tarayıcınızın URL’ye zaman görülebilir. Orijinal siteye “varsayılan” adı verilir ve oluşturulan her siteye rastgele bir dize atanır. Örneğin, bir sitenin gösterge panosu sayfasının içindeyken URL çubuğunda görüleceği şey budur:
https://127.0.0.1:8443/manage/s/ceb1m27d/dashboard
Yukarıdaki durumda, rastgele ceb1m27d dizgisi <unifi_base> / data / sites / altında kullanılacak klasör adıdır . Bu nedenle config.gateway.json , <unifi_base> / data / sites / ceb1m27d / ‘nin içine yerleştirilmelidir.
- Cloud Key’de .json dosyasının yolunu kurun: / srv / unifi / data / sites / [site adı / varsayılan] /
- Bir Ubuntu’da .json dosyasının yolunu kurun: / usr / lib / unifi / data / sites / [sit
e name / default] /
Config.gateway.json Dosyasını Düzenleme
Güvenlik duvarı veya NAT kurallarını özelleştirmeden önce, UniFi Controller’da Ayarlar> Yönlendirme ve Güvenlik Duvarı> Güvenlik Duvarı altında kullanılan kural numaralarını not edin . Varsayılan güvenlik duvarı kuralları 3001 veya 6001’de başlar ve NAT kuralları da 6001’de başlar (güvenlik duvarı kuralları ile örtüşmez). Config.gateway.json içinde oluşturulan özel kurallar, USG’deki mevcut kurallarla yinelenen kural numaralarına sahip olamaz, ya da bir sağlama döngüsü olacaktır. Özel kuralların mevcut kurallardan önce koyulması önerilir; çünkü düşük sayı iki eşleşen kural arasında kazanacaktır.
Aşağıda, EdgeOS biçimlendirmesi kullanılarak yapılandırılmış DNS için bir DNAT kuralının nasıl oluşturulduğuna bir örnek verilmiştir:
1. USG’ye SSH ile bağlanın ve aşağıdaki komutları verin:
yapılandırmak set hizmet nat kuralı 1 tipi hedef seti servis nat kuralı 1 Gelen-interface eth0 seti servis nat kuralını tcp_udp 1 protokolünü hizmeti nat kuralı 1 hedef bağlantı noktası 53 set set servisi nat kuralı 1 iç-adres adresi 10.0.0.1 içinde ayarlanan servis nat kuralı 1 -Adres portu 53 taahhüt, kaydet; çıkış 2. Sırada config gösteriliyor. Aşağıdaki komut tüm config'i bir JSON formatında gösterir:
mca-ctrl -t dump-cfg
Eğer tercih edilirse, yapılandırma da dışa aktarılabilir. Aşağıdaki örnek çıktıyı aşağıdakilere verir config.txt
:
mca-ctrl -t dump-cfg > config.txt
3. config çıktısındaki özel değişikliklerle uygun bölümü bulun, çünkü yukarıdaki örneğimizde şöyle olur:
"nat": {
"rule": {
"1": {
"destination": {
"port": "53"
},
"gelen-arayüz": "eth0",
"inside-address": {
"address": "10.0.0.1",
"bağlantı noktası": "53"
},
"protokol":"tcp_udp",
"yazın": "hedef"
},
4. Özel kural yukarıdadır, ancak düzeltmek için sonunda bütün kapanış parantezleri (}) yoktur. Config çıktısına baştan bakarsanız, dosyanın doğru okunması için gereken belirli bir format vardır. Bir bölümdeki her düğüm virgülle (,) ayrılmalı ve bölüm bir açılı ayraçla ({) başlamalı ve bir kapanışla (}) bitmelidir. Mevcut formatı dikkatlice izleyin. Yukarıdaki kural config.gateway.json dosyasındaki tek değişiklikse , şöyle görünmesi için düzenlersiniz:
{
"hizmet": {
"nat": {
"kural": {
"1": {
"hedef": {
"liman": "53"
},
"gelen-arayüz": "eth0",
"iç adres" : {
"address": "10.0.0.1",
"bağlantı noktası": "53"
},
"protokol": "tcp_udp",
"type": "destination"
}
}
}
}
}
5. Eklenecek birden fazla bölüm varsa, Güvenlik Duvarı, Servis, VPN diyelim, bir sonraki bölüme başlamadan önce bu bölümün kapanış dirseğini virgül (},) izleyecektir. Bu biçimlendirme ayrıntılarını aşağıdaki örnekte görebilirsiniz.
DNAT kuralı # aralığı 1-4999 arasındadır ve Kaynak / Masquerade kuralı numaraları 5000-9999 arasındadır. Bir multiWAN (yük dengesi) kurulumunda config.gateway.json for WAN2 için bir bağlantı noktası ileri (DNAT) eklemek istiyorsanız , config.gateway.json bu özel NAT kuralında şöyle görünür:
{
"service": {
"nat": {
"rule": {
"4500": {
"açıklama": "port_forward_WAN2",
"destination": {
"address": "100.64.100.100",
"port": "22 "
},
" gelen-arabirim ":" eth3 ",
" iç adres ": {
" adres ":" 192.168.1.100 "
},
" protokol ":" tcp ",
" tür ":" hedef "
}
}
}
}
}
Ve eğer dosyaya ana bilgisayar adları olan bir VPN ekleseydik , config.gateway.json aşağıdaki gibi gözükecekti.
Bölüme başlamadan önce açılma ve kapanma dirseklerine ve ayrıca virgül içeren dirseğe dikkat edin "vpn"
:
{ "service": { "nat": { "rule": { "4500": { "açıklama": "port_forward_WAN2", "destination": { "address": "100.64.100.100", "port": "22 " }, " gelen-arabirim ":" eth3 ", " iç adres ": { " adres ":" 192.168.1.100 " }, " protokol ":" tcp ", " tür ":" hedef " } } } } , "vpn": { "ipsec":{ "siteden siteye": { "eş": { "yyyy.ignorelist.com": { "kimlik doğrulama": { "id": "xxxx.ignorelist.com" }, "yerel adres": "xxxx.ignorelist.com" } } } } } }
Test ve Doğrulama
Config.gateway.json dosyasını oluşturduktan sonra kodu doğrulamanız önerilir . Çok sayıda ücretsiz seçenek var, jsonlint.com UBNT destek ekibi tarafından oldukça sık kullanılıyor.
Ekledikten sonra config.gateway.json seçtiğiniz Kontrolör sitesine, sen USG’ye bir “kuvvet hükmünü” çalıştırarak test edebilirsiniz > USG> Yapılandırma> Yönet Cihaz> Kuvvet hüküm UniFi Controller Cihazlar . Bunun yapılması biraz zaman alabilir (30 saniye ila 3 dakika arasında) ve bundan daha uzun süre sağlamada kalırsa, config.gateway.json dosyasında bir biçimlendirme hatası olabilir ve daha önce belirtilen bir sağlama döngüsünü yaşıyorsanız, . Kontrol edebilirsiniz server.log
denetleyici ve aramak commit error
. Günlük dosyalarında yeni özelleştirilmiş yapılandırmanın sağlanmasında neyin yanlış gittiğini genellikle bulabilirsiniz.
Kullanıcı İpucu: json dosyasının geçerliliğini test etmenin kolay bir yolu: python -m json.tool config.gateway.json
Değişiklikleri Silme veya Önceki Duruma Dönme
Belirli bir gelişmiş yapılandırmayı kaldırmak için, config.gateway.json dosyasındaki bu yapılandırma ile ilgili bölümü silmeniz yeterlidir. Config.gateway.json dosyasında oluşturulan tüm gelişmiş konfigürasyonları tamamen kaldırmak için dosyayı silin veya yeniden adlandırın. Bu, tüm manuel değişiklikleri geçersiz kılar. USG, UniFi Controller içerisinde bulunan mevcut yapılandırma ile sağlanacaktır.
Çalışmakta olan config.gateway.json dosyasını düzenlerken en iyi yöntem bir yedekleme oluşturmaktır. Config.gateway.json dosyasına ek değişiklikler eklemeniz gerekirse, geçerli dosyayı config.gateway.json.old olarak yeniden adlandırın, temelde bir yedek oluşturun ve mevcut ve yeni tüm değişiklikleri config.gateway adlı yeni bir dosyaya kopyalayın. .json. Bu şekilde, bir “taahhüt” hatası veya ön hazırlık döngüsüyle sonuçlanan herhangi bir hata olursa, config.gateway.json dosyasını silebilir ve config.gateway.json.old dosyasından başlayarak tekrar deneyebilirsiniz.
6 Yorumlar
Geri Bildirim: UniFi - Çok Sayıda UniFi Cihazı İçin Denetleyicinin Ayarlanması - Ubnt Türkiye Türkçe Forum ve Destek Sitesi.
Geri Bildirim: UniFi - Siteleri Site Verme Sihirbazı ile Geçirme -
Geri Bildirim: UniFi - Birden Çok Siteyi Yapılandırma - Ubiquiti Networks
Geri Bildirim: UniFi - USG Port Yönlendirme Konfigürasyonu ve Sorun Giderme
Geri Bildirim: UniFi USG VPN: Siteden Siteye VPN Nasıl Yapılandırılır ?
Geri Bildirim: UniFi Access Policies Kablosuz İşlemciler Erişim Politikalarını Yapılandırma