Kategori arşivi: Debian

debian işletim sistemi hakkında bilgiler, debian yapılandırma örnekleri, debian güvenlik önlemleri ve performans iyileştirmeleri, güncel haberler

perl: error while loading shared libraries libcrypt.so.1 cannot open shared object file No such file or directory

Özellikle Türkiye’de sanal sunucu satın aldığınızda imajlar oldukça eski olur, Debian 9.6 ve Debian 10 serisiyle karşılaşabilirsiniz. Zaten Debian 9.6 çöp olduğu için imkanınız varsa Debian 10 kurulumu yaparsınız. Daha sonra Debian 12 yükseltmek istediğinizde başarılı bir şekilde işlem devam ederken aşağıdaki gibi bir hata ile karşılaşabilirsiniz.

Setting up libc6:amd64 (2.36-9+deb12u3) ...
/usr/bin/perl: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
dpkg: error processing package libc6:amd64 (--configure):
 installed libc6:amd64 package post-installation script subprocess returned error exit status 127
Errors were encountered while processing:
 libc6:amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)

Çözüm olarak ise aşağıdakini yapmanız yeterlidir.

cd /tmp
apt download libcrypt1
dpkg-deb -x libcrypt1_1*.deb  .
cp -av lib/x86_64-linux-gnu/* /lib/x86_64-linux-gnu/
apt --fix-broken install

Ardından yükseltme sürecinize kaldığınız yerden devam edebilirsiniz. İsterseniz’de Debian 10 Buster’ı Debian 11 Bullseye’a Nasıl Yükseltiriz? makalemden faydalanabilirsiniz.

En Kolay Mail Sunucusu Nasıl Kurulur?

Bazı VPS sağlayıcılarının spam e-posta gönderimine karşı olarak mail gönderim portlarını ön tanımlı olarak kapattıklarını hatırlatayım, yani abi ben kurdum ama e-posta gönderip alamıyorum diyorsanız sağlayıcınız ile ilgilidir ve destek ile iletişime geçmeniz gerekmektedir.

Engelleme olmayan bir sağlayıcı arıyorsanız, bakacağınız adres https://www.ilkbyte.com/ olmalı.

mail sunucusu nasıl kurulur, vps üstüne mail sunucusu kurulumu

Bu makalede, sistemde yer alacak olan mail komutuyla programatik olarak posta gönderebileceğimiz basit bir Postfix sunucusu kuracağız. Gerçek ve tam işlevsel bir posta sunucusuna sahip olmak için kullanıcıların gelen kutularını okuyup uzaktan posta gönderebilecekleri bir posta istemcisine giriş yapabilmeleri gerekiyor.

Bu amaca ulaşmak için bizim Dovecot’a ihtiyacımız var. Dovecot, sunucu tarafından alınan postaları depolayabilir, kullanıcı hesaplarını doğrulayabilir ve postayla etkileşim kurabilir.

Eğer bir gelen kutusu kuruyorsak, spam koruma yazılımı olan spamassassin gibi bir yazılımı da kuracağız böylece spam e-postalarda gelmeyecek.

apt install mailutils postfix dovecot-imapd dovecot-sieve spamassassin spamc
ShellScript

Kurulum tamamlandıktan sonra e-posta için kullanılacak alt alan adı için SSL ayarlanacak isterseniz Acme.sh ile Ücretsiz SSL Sertifikası Nasıl Alınır ile isterseniz de Let’s Encrypt ile Web Server Yapılandırma ile bu işi kolayca yapabilir.

Ayrıca, alan adınızı nereden aldıysanız artık onun sitesinden ve/veya DNS sunucusunda iki küçük DNS kaydına ihtiyacımız var;

  • Bir MX kaydı, “@” için ekleme yapın, örneğin mertcangokgoz.com olarak tanımlayın.
  • Bir CNAME kaydı, Ana bilgisayar alanı: mail.example.org.
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.example.org/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.org/privkey.pem
ssl_min_protocol = TLSv1.2
ssl_cipher_list = EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA256:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EDH+aRSA+AESGCM:EDH+aRSA+SHA256:EDH+aRSA:EECDH:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED
ssl_prefer_server_ciphers = yes
ssl_dh = </usr/share/dovecot/dh.pem
auth_mechanisms = plain login
auth_username_format = %n

protocols = $protocols imap

userdb {
    driver = passwd
}
passdb {
    driver = pam
}

mail_location = maildir:~/Mail:INBOX=~/Mail/Inbox:LAYOUT=fs
namespace inbox {
    inbox = yes
    mailbox Drafts {
    special_use = \Drafts
    auto = subscribe
}
    mailbox Junk {
    special_use = \Junk
    auto = subscribe
    autoexpunge = 30d
}
    mailbox Sent {
    special_use = \Sent
    auto = subscribe
}
    mailbox Trash {
    special_use = \Trash
}
    mailbox Archive {
    special_use = \Archive
}
}

service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
}
}

protocol lda {
  mail_plugins = \$mail_plugins sieve
}
protocol lmtp {
  mail_plugins = \$mail_plugins sieve
}
plugin {
	sieve = ~/.dovecot.sieve
	sieve_default = /var/lib/dovecot/sieve/default.sieve
	sieve_dir = ~/.sieve
	sieve_global_dir = /var/lib/dovecot/sieve/
}
ShellScript

Hemen ardından spamlar için /var/lib/dovecot/sieve/default.sieve içerisine bir yapılandırma uygulayalım.

echo "require [\"fileinto\", \"mailbox\"];
if header :contains \"X-Spam-Flag\" \"YES\"
        {
                fileinto \"Junk\";
        }"
ShellScript

Bu işlemden sonra, e-postalara erişecek olan kullanıcıyı ve buna bağlı grubu oluşturmalıyız ardından sieve yapılandırmasını güncellemeliyiz.

grep -q '^vmail:' /etc/passwd || useradd vmail
chown -R vmail:vmail /var/lib/dovecot
sievec /var/lib/dovecot/sieve/default.sieve
ShellScript

Daha sonra, Dovecot için pam kimlik doğrulamayı etkinleştirmemiz gerekiyor.

echo "auth    required        pam_unix.so nullok
account required        pam_unix.so" >> /etc/pam.d/dovecot
ShellScript

Postfix’e kullanıcıların/parolaların kimlik doğrulaması için Dovecot’a bakmasını söylememiz gerekiyor /var/spool/postfix/private/auth içerisine aşağıdaki değişikliği uygulayın.

postconf -e 'smtpd_sasl_auth_enable = yes'
postconf -e 'smtpd_sasl_type = dovecot'
postconf -e 'smtpd_sasl_path = private/auth'
postconf -e 'mailbox_command = /usr/lib/dovecot/deliver'
ShellScript

Postfix’in posta akışını spamassassin üzerinden yönlendirebilmesi için /etc/postfix/master.cf dosyasını değiştireceğiz. Varsayılan yapılandırmayı kullanmayacağız silin gitsin ve aşağıdaki komutu çalıştırın.

echo "smtp unix - - n - - smtp
smtp inet n - y - - smtpd
  -o content_filter=spamassassin
submission inet n       -       y       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_tls_auth_only=yes
smtps     inet  n       -       y       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
spamassassin unix -     n       n       -       -       pipe
  user=debian-spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f \${sender} \${recipient}" >> /etc/postfix/master.cf
ShellScript

İşlem tamam, geleneksel yöntem ile mail sunucunuz hazır, bu işlemler neticesinde sunucunuz üzerinden e-posta gönderebilirsiniz. Çok az sayıda e-posta atıyorsanız işinize oldukça yarar, diğer amaçlar için kullanılmasını önermem.

Debian Desktop Kurulumu: Yeni Başlayanlar için Rehber

Bu rehber Debian işletim sistemini masaüstünde kullanmak isteyen arkadaşlar için oluşturulmuştur. Güncel Debian işletim sistemini tercih ederek kurulumlarınızı gönül rahatlığı ile yapabilirsiniz, Dizüstü bilgisayarlarınıza kurulum yapacaksanız mümkünse bilgisayarınızı kablolu olarak internete bağlayınız.

Bildiğiniz gibi Debian desktop kurulumları sırasında Wifi sürücüleri sistem içerisinde gelmemektedir. Kurulum sırasında ayrıca sürücülerin yüklenmesi beklenmelidir.

Debian Desktop Kurulum Adımları

İndirdiğimiz imaj dosyasının USB’ye yazdırılması, işlemdeki ilerlemeyi takip etmek amacıyla pv kullanılacaktır.

sudo apt install pv
ShellScript

USB yazdırma işlemine geçelim, burada /dev/sdb kullanacağınız USB belleğin yolu olduğunu unutmayın.

sudo dd if=debian-desktop-amd64.iso | pv | sudo dd of=/dev/sdb
ShellScript

NOT: imaj kalıbının sürümleri kullanacağınız desktop sürümlerine göre değişiklik gösterebilir.

USB ye yazdırma işlemi tamamlandıktan hemen sonra sistem yeniden başlatılır ve Kurulum aşamasına geçilir.

Language: English Keyboard: Turkish Timezone: Istanbul olarak ayarlanır.

Disk yapılandırması kişiye özel bırakılmıştır. Şifreleme seçeneği seçilecekse işlemcinin biraz daha iyi olması gerekmektedir.

debian desktop kurulumu

Debian desktop kurulumu tamamlandıktan sonra hızlı bir şekilde touchpad kapatılması gerekiyor. Synaptic driver üzerinde olan bir sıkıntıdan dolayı mouse eventleri sapıtabiliyor.

XFCE wisker menü> Settings > Mouse and Touchpad

Girilir burada hem mouse hem de touchpad gözükür. Hızlıca touchpad kısmına geçip Enable This device seçeneğindeki tik kaldırılır.

Bundan sonra touchpad çalışmayacak ancak mouse debian desktop kurulumundan hemen sonra sapıtmayacaktır.


Format işlemi bitirildikten sonra yapılacak olan debian desktop kurulum için uygulama kurulumlarını yapmaktır. Bu içerikte işinize yarayacak tüm uygulamalar eklenmiştir.

SSH Key Düzenleme

Yedeklenen anahtar harici disk veya her nereden aktarılacaksa sisteme eklenir.

sudo mv id_rsa id_rsa.pub ~/.ssh
ShellScript

Ardından sisteme keyi tanıtmak amacıyla ssh-add komutu verilir. Aşağıdaki uyarıyı verdiği gözlemlenir.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0744 for '/home/mertcan/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /home/mertcan/.ssh/id_rsa
ShellScript

Bu uyarıyı gidermek için aşağıdaki adımları yapınız.

sudo chmod 600 ~/.ssh/id_rsa
sudo chmod 600 ~/.ssh/id_rsa.pub
ShellScript

Tekrar ssh-add komutu verilir. Gelen uyarıya yes cevabı verilir.

Are you sure you want to continue connecting (yes/no)? yes
Plaintext

Komut satırı bir alt satıra geçti ise işleminiz başarılı bir şekilde tamamlanmış demektir.

GPG Key Düzenleme

Yedeklenen anahtarın bulunduğu dizine gidilir.

cp *.gpg ~/.gnupg/
ShellScript

Tüm her şey taşındıktan sonra gerekli olan owner düzenlemesi yapılır.

gpg --import-ownertrust mertcangokgoz-ownertrust-gpg.txt
ShellScript

GPG key başarılı bir şekilde sisteme dahil edildi

DNS Düzenleme

Türkiye’de kullanılan internet deki bir takım web sitelerine düzgünce ulaşmak ve sorunları ortadan kaldırmak için

sudo nano /etc/resolv.conf
ShellScript

İçerisinde hali hazırda olan değer değiştirilir ve eklemeler yapılır.

nameserver 1.1.1.1
nameserver 1.0.0.1
ShellScript

Kayıt edilip çıkılır. Sistem yeniden başlatıldığında değişikliğin sıfırlanmaması için aşağıdaki işlemler yapılır.

chattr +a /etc/resolv.conf
ShellScript

Bundan sonra resolv.conf dosyasının değiştirilmesine imkân yoktur. Ancak VPN kullanılacak ise bu komutun girilmemesi gerekmektedir.

chattr -a /etc/resolv.conf
ShellScript

Güncellenmesi Devre dışı Bırakılacak Paketler

Debian desktop kurulumu sırasında sistemde güncellenmemesini istemediğimiz paketlere aşağıdaki işlemleri yaparak güncellenmemesini sağlayabiliriz.

echo "tzdata hold" | sudo dpkg --set-selections
echo "nginx hold" | sudo dpkg --set-selections
echo "php-5 hold" | sudo dpkg --set-selections
ShellScript

Aria2 WebUI Servis Ekleme

Konsoldan çalıştırmak istenmiyor ise WebUI kullanılabilir.

sudo apt install nginx
ShellScript

WebUI indirilmesi ve dizine taşınması işlemi

git clone git@github.com:ziahamza/webui-aria2.git
cd webui-aria2
sudo mv * /var/www/html
ShellScript

RPC sürecinin el ile başlatılması

aria2c --enable-rpc --rpc-listen-all
ShellScript

Sürecin otomatik başlatılması için gereken service dosyası oluşturulur.

sudo nano /etc/systemd/system/aria2d.service
ShellScript

Dosyanın içerisine aşağıdakiler eklenir ve kayıt edilir.

[Unit]
Description=Aria2 WebUI RPC Service
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/bin/aria2c --enable-rpc --rpc-listen-all
Restart=on-abort
[Install]
WantedBy=multi-user.target
ShellScript

Ayrıca aşağıdaki servisinde başlatılması gerekmektedir.

systemctl enable systemd-networkd-wait-online
ShellScript

Java Uygulamalarını Çalıştırmak

Java uygulamalarını normal bir uygulamaymış gibi çift tıklama ile çalıştırmak isteniyor ise;

cd /usr/share/applications/
sudo nano java.desktop
ShellScript

Dosyanın içerisinde

[Desktop Entry]
Name=Double Click Java Application
Comment=Double Click Java Application
GenericName=Double Click Java Application
Keywords=java
Exec=java -jar %f
Terminal=false
X-MultipleArgs=false
Type=Application
MimeType=application/x-java-archive
StartupNotify=true
ShellScript

Kayıt edip çıkıyorsunuz. Ardından jar uzantılı herhangi bir uygulamayı tek sefer olacak şekilde sağ tıklayıp. Open with other application diyerek Double Click Java Application seçeneğini seçiyorsunuz. Bundan sonraki tüm işlemlerinizde çift tıklayarak uygulamayı açabileceksiniz.

Spotify Kurulumu

Müzik dinlemek için kullanılacak olan Spotify’ın kurulumu şu şekildedir. Güncel kurulum adımları için Tıklayınız.

curl -sS https://download.spotify.com/debian/pubkey_5E3C45D7B312C643.gpg | sudo apt-key add - 
echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list
sudo apt-get update && sudo apt-get install spotify-client
ShellScript

Kurulum tamamlandıktan sonra kullanıcı adınızı ve şifrenizi uygulamaya girerek müzik dinlemeye başlayabilirsiniz.

Numix Circle Tema Kurulumu

Görüntüyü düzenlemek ve güzelleştirmek için Numix Circle İkon ve Numix GTK tema paketi kullanılmaktadır. Bu Numix Circle temasına ayrıca github’dan erişebilir bulamadığınız ikonları talep edebilirsiniz.

sudo apt install numix-icon-theme-circle
ShellScript

Gerekli olan kurulumlar yapıldıktan sonra Sistem ayarlarından sürekli değişikliklerin yapılması gerekmektedir.

İkonlar için Appearance > Icons > Numix Circle GTK temala için Appearance > Style> Numix ve Windows Manager> Style> Numix Yapılan tüm bu seçeneklerin ardından Tamamıyla Numix Teması ve İkon Paketine geçiş yapılmış olunur.

Kurulum adımlarını tamamladıktan sonra isterseniz Debian kategorimize göz atarak debian desktop kurulumunuza ek uygulamalar dahil edebilirsiniz.

Debian 10 Buster’ı Debian 11 Bullseye’a Nasıl Yükseltiriz?

Son zamanlarda bana gelen sorulardan bazıları içerisinde abi debian 10 işletim sistemini yeni sürüme nasıl güncellerim oluyor, Debian 11 işletim sistemi için nasıl yükseltme işlemi yapılacağı konusunda sizi bilgilendireyim. Değişiklik günlüğünü incelemeden geçmeyin.

Önkoşullar

  • Sudo yetkisi bulunan bir kullanıcı
  • Yedeklemesi yapılmış bir debian sunucu

Sistemde Kurulu Paketlerin Güncellenmesi

Sürüm yükseltme işlemine başlamadan önce, şu anda sistemde kurulu olan tüm paketlerinizi en son sürümlerine güncellemeniz gerekiyor. hold olarak işaretlenen paketler otomatik olarak kurulmaz, yükseltilemez veya kaldırılamaz.

debian upgrade temsili görsel, debian 10 nasıl yükseltilir.

Bu durum, yükseltme işlemi sırasında sorunlara neden olabilir. Sisteminizde hold olarak işaretlenmiş paketler olup olmadığını kontrol etmek için aşağıdaki komutu verin.

sudo apt-mark showhold
ShellScript

on hold olarak işaretlenmiş paketleri eski haline getirmek için sudo apt-mark unhold paket-adi ardından direk olarak aşağıdaki komutu çalıştırın, tüm paketler iyice bir güncellensin, gereksiz paketleri de kaldıralım.

sudo apt update
sudo apt upgrade
sudo apt full-upgrade
sudo apt autoremove
ShellScript

Debian 10 Buster’ı Debian 11 Bullseye’a Yükseltme İşlemi

İlk önce, APT’nin kaynak listesi dosyalarını yeniden yapılandırmamız gerekiyor. Böylece yeni paketleri sisteme düzgünce kurabiliriz. Listeyi aşağıdaki gibi yapabilirsiniz.

deb http://deb.debian.org/debian bullseye main
deb-src http://deb.debian.org/debian bullseye main
deb https://deb.debian.org/debian-security bullseye-security main contrib
deb-src https://deb.debian.org/debian-security bullseye-security main contrib
deb http://deb.debian.org/debian bullseye-updates main
deb-src http://deb.debian.org/debian bullseye-updates main
deb http://deb.debian.org/debian bullseye-backports main
deb-src http://deb.debian.org/debian bullseye-backports main
ShellScript

Veya içerisinde bullseye geçen tüm bağlantıları buster olarak değiştirmek için aşağıdaki komutu kullanabilirsiniz.

sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list
sudo sed -i 's#/debian-security bullseye/updates# bullseye-security#g' /etc/apt/sources.list
ShellScript

Sonra direk olarak güncelleme komutumuzu verip repolarımızı Debian 11 için güncelliyoruz.

sudo apt update
ShellScript

Sistem dili sıkıntı çıkartmasın terminalde diye export LC_ALL=C komutunu da ayrıca verin.

Kurulu paketleri yükselterek sistem yükseltmesini başlatın. Bu komut ile sistemde, yalnızca kaldırılmasını gerektirmeyen paketleri yükseltecek

sudo apt upgrade
ShellScript

Yükseltme sırasında hizmetlerin otomatik olarak yeniden başlatılmasını isteyip istemediğiniz sorulacak, Y diyerek devam edin. Güncelleme sayısı ve İnternet hızınıza bağlı olarak yükseltme biraz zaman alabilir.

Ardından, sistemin tam bir yükseltmesini gerçekleştirecek, paketlerin en yeni sürümlerini yükleyecek ve farklı sürümlerdeki paketler arasındaki bağımlılık değişikliklerini çözecek olan aşağıdaki komutu çalıştırın.

sudo apt full-upgrade
ShellScript

Artık sisteminiz hazır, değişikliklerin tamamen etkili olabilmesi için sistemi yeniden başlatın.

sudo systemctl reboot
ShellScript

Bu kadar başka yapılacak bir işlemimiz kalmadı. Artık yeni Debian 11’inizin keyfini doya doya çıkartabilirsiniz. İsterseniz de Debian Desktop Kurulumu: Yeni Başlayanlar için Rehber yazımı kullanarak kendinize yeni bir sistem kurabilirsiniz.

Debian 11 Üzerine PHP 8.0 Kurulumu

Güncel PHP kullanmak ve yeniliklere hızlı adapte olmak isteyen arkadaşlar PHP sürümlerini 8.0 yapmak isterlerse Debian 11 için aşağıdaki işlemleri yapmaları yeterli olacaktır.

apt -y install lsb-release apt-transport-https ca-certificates 
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list

Güncel repo dahil edildikten sonra güncelleme komutu verilir.

apt update

Gerekli olan modüllerle birlikte sisteme kurulum gerçekleştirilir.

apt install php8.0
apt install php8.0-{bcmath,bz2,intl,gd,mbstring,mysql,zip,xml,fpm,redis}

Debian 11 Üzerine ConfigServer Security Firewall Nasıl Kurulur?

Genelde cPanel, Directpanel gibi sunucu yönetim araçları içerisinde yer alan firewall yönetimi için kullanılan bir eklentidir, iptables yönetimini basitleştirip işlevselleştirmesi ve yönetim arayüzü olmasıyla bilinir, ayrıca pek çok kendine has özelliği de bulunur. (Blacklist kontrolü ve özel listeler vs)

Unutmayın, yapacağınız yanlış bir yapılandırma sunucunuza erişimi kalıcı olarak kesecektir. Atacağınız adımları dikkatlice atınız.

Bağımlılıkların kurulması

apt-get install e2fsprogs dnsutils libwww-perl libio-socket-ssl-perl libcrypt-ssleay-perl libnet-libidn-perl libio-socket-inet6-perl libsocket6-perl

ConfigServer dosyalarının indirilmesi ve kurulması

cd /opt/
wget http://download.configserver.com/csf.tgz
tar xzf csf.tgz
cd /opt/csf
sh install.sh

Her şey doğru bir şekilde çalıştığına emin olabilmemizi sağlayan perl /usr/local/csf/bin/csftest.pl test betiğini çalıştırıyoruz. Çıktısı aşağıdaki gibi olmalı

Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK
RESULT: csf should function on this server

Yapılandırma dosyası içerisindeki bütün alarmların kapatılmasını şiddetle öneriyorum, yoksa durup dururken yaptığı her engelleme işleminde mail atacaktır.

sed -i 's/LF_EMAIL_ALERT = "1"/LF_EMAIL_ALERT = "0"/g' /etc/csf/csf.conf
sed -i 's/LF_PERMBLOCK_ALERT = "1"/LF_PERMBLOCK_ALERT = "0"/g' /etc/csf/csf.conf
sed -i 's/LF_NETBLOCK_ALERT = "1"/LF_NETBLOCK_ALERT = "0"/g' /etc/csf/csf.conf
sed -i 's/LF_DISTFTP_ALERT = "1"/LF_DISTFTP_ALERT = "0"/g' /etc/csf/csf.conf
sed -i 's/LF_DISTSMTP_ALERT = "1"/LF_DISTSMTP_ALERT = "0"/g' /etc/csf/csf.conf
sed -i 's/LT_EMAIL_ALERT = "1"/LT_EMAIL_ALERT = "0"/g' /etc/csf/csf.conf
sed -i 's/CT_EMAIL_ALERT = "1"/CT_EMAIL_ALERT = "0"/g' /etc/csf/csf.conf

Değişikliklerin geçerli olması amacıyla yeniden başlatma işlemini yapalım

systemctl restart csf
systemctl restart lfd

Web Arayüzünün Aktif Edilmesi

Yönetim arayüzü ön tanımlı olarak kapalı gelmektedir, aktif etmek amacıyla aşağıdaki işlemleri gerçekleştirin.

nano /etc/csf/csf.conf

dosyasının içerisinde 1995. satırın hemen altında yer alan aşağıdaki ayarları kendinize göre değiştiriniz.

###############################################################################
# SECTION:Integrated User Interface
###############################################################################
# Integrated User Interface. This feature provides a HTML UI to csf and lfd,
# without requiring a control panel or web server. The UI runs as a sub process
# to the lfd daemon
#
# As it runs under the root account and successful login provides root access
# to the server, great care should be taken when configuring and using this
# feature. There are additional restrictions to enhance secure access to the UI
#
# See readme.txt for more information about using this feature BEFORE enabling
# it for security and access reasons
# 
# 1 to enable, 0 to disable
UI = "1"
# Set this to the port that want to bind this service to. You should configure
# this port to be >1023 and different from any other port already being used
#
# Do NOT enable access to this port in TCP_IN, instead only allow trusted IP's
# to the port using Advanced Allow Filters (see readme.txt)
UI_PORT = "7156"
# Optionally set the IP address to bind to. Normally this should be left blank
# to bind to all IP addresses on the server.
#
# If the server is configured for IPv6 but the IP to bind to is IPv4, then the
# IP address MUST use the IPv6 representation. For example 1.2.3.4 must use
# ::ffff:1.2.3.4
#
# Leave blank to bind to all IP addresses on the server
UI_IP = "::ffff:94.130.96.165"
# This should be a secure, hard to guess username
# 
# This must be changed from the default
UI_USER = "mertcan"
# This should be a secure, hard to guess password. That is, at least 8
# characters long with a mixture of upper and lowercase characters plus 
# numbers and non-alphanumeric characters
#
# This must be changed from the default
UI_PASS = "Str0n9_PasSw0rD"

Ardından giriş yapabilmek için IP adresinizi sisteme kayıt edin.

sudo echo "" >> /etc/csf/ui/ui.allow

sudo systemctl restart lfd komutu ile yeniden başlatıp web arayüzüne giriş yapabilirsiniz.

csf web ui giris gorsel

Debian 9 Üzerinde IPv6 Tunnel Oluşturma

Türkiye\’de IPv6 kullanım imkanı olmadığı için Tunnel oluşturmamız gerekmektedir. Mevcut verilen yapılandırma ile bu iş çalışmadığı için aşağıdaki adımları yapmamız gerekiyor.

Ön tanımlı olarak tunnel tanımı

auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address 2001:470:1f0a:355::2
netmask 64
endpoint 216.66.80.30
local 94.55.144.200
ttl 255
gateway 2001:470:1f0a:355::1

Ipv6 Tunnel\’in çalıştırılacağı IPv6 to IPv4 için sit0 ağ ara yüzünü açıyoruz.

ifconfig sit0 up
ifconfig sit0 inet6 tunnel ::216.66.80.30
ifconfig sit1 up
ifconfig sit1 inet6 add 2001:470:1f0a:355::2/64
route -A inet6 add ::/0 dev sit1

Ardından network üzerinde diğer makinelerin IPv6\’dan çıkış yapabilmesi için aşağıdaki adımlar takip edilir. İlk önce radvd kurulumu yapılır.

apt install radvd

IP dağıtımı ve RA işlemleri için aşağıdaki yapılandırma yapılır.

root@debian:~# nano /etc/radvd.conf
interface eth0
{
AdvSendAdvert on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
AdvLinkMTU 1480;
prefix 2001:470:1f0b:358::/64 {
AdvOnLink on;
AdvAutonomous on;
};
route ::/0 {
};
RDNSS 2001:470:20::2 {};
DNSSL horus.local {
FlushDNSSL on;
AdvDNSSLLifetime 10;
};
};

Mevcut ağ kartımızın üzerine sabit bir IPv6 tanımlaması yapmayı unutmuyoruz.

#IPv6
iface eth0 inet6 static
address 2001:470:1f0b:358::1
netmask 64

IPv6 için Türkiye\’de mevcut sağlayıcı bulunmadığı için tunelleme hizmeti Hurricane Electric LLC tarafından sağlanmaktadır.

Froxlor Sunucu Yönetim Paneli Nasıl Kurulur?

Froxlor çoklu-kullanıcı hizmetlerini yönetmek için kullanılan bir sunucu yönetim paneli. Alan adı hizmetleri, e-posta hesapları ve web sunucusu vb işler için cpanel veya webmine iyi bir alternatiftir.

Özellikleri

  • Oluşturulan alan adları başına SSL tanımlayabilme ve buna bağlı olarak kullanılacak portu seçme imkanı
  • Oluşturulan alan adları başına İP adresi atama ve buna bağlı olarak kullanılacak domaini seçebilme
  • Tüm yönetim işlevleri yanında sisteme Ticket sistemi entegre edilmiştir böylelikle bir sorun oluştuğunda direk olarak sistem yöneticisine kullanıcılar ulaşabilmektedir.
  • Özelleştirilebilir temalar ile kendi temalarınızı oluşturabilirsiniz.
  • Farklı php.ini dosyaları oluşturabilirsiniz. Böylelikle istediğiniz zaman php.ini değiştirerek ayarları hemen aktif edebilirsiniz.
  • Tüm http, e-posta ve ftp trafik logları saklanır ve interaktif grafikler aracılığıyla ile takip edilebilir.
  • web-ftp sayesinde dosya indirme ve gönderme işlemlerini tarayıcı üzerinden kolaylıkla yapabilirsiniz.

Froxlor Nasıl Kurulur?

Froxlor debian sistemler üzerinde sorunsuz çalıştığı bilinmektedir ayrıca test edilmiştir. Sisteminizde Mysql, Apache ve python paketlerinin kurulu olması gerekmektedir.

apt-get -y install apt-transport-https lsb-release ca-certificates gnupg
wget -O - https://deb.froxlor.org/froxlor.gpg | apt-key add -
echo deb https://deb.froxlor.org/debian $(lsb_release -sc) main > /etc/apt/sources.list.d/froxlor.list
apt-get update && apt-get upgrade

Sisteme froxlorun kurulumunu gerçekleştirmemizi sağlayacak paketleri dahil ettik aşağıdaki komut aracılığı ile de yönetim panelini kolay bir şekilde kurabilirsiniz. Gerekli olan paketleri kendisi kuracağını hatırlatırım.

apt-get install froxlor

Sonrasında postfix ayarına geliyor burada Internet Site seçin böylelikle ayarları otomatik olarak yapacak SMTP kurulumları

postfixconfigure1/

Sizden hostname isteyebilir ayarlamasını yapınız türkçe karakter kullanmamaya özen gösterin ardından FTP ayarlamalarını yapmanız için bir ekran gelir. Bu ekrandan standalone yi seçip onaylayın.

proftpdconfiguration1/

Ardından kurulu olan apache üzerinde 000-default.conf dosyasının içini düzenleyelim. Çünkü ön tanımlı olarak /var/www rotasını takip etmiyor olacak.


# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with a2disconf.
#Include conf-available/serve-cgi-bin.conf

Srdından yeniden başlatmanız yeterli olacak ve panele erişiminiz gelecek. Hata ile karşılaşmayacaksınız.

sudo /etc/init.d/apache2 restart

Artık ip adresinden erişebilirsiniz. Panelinizi kullanmak için /froxlor girmeniz yeterli

froxlor

Start install butonuna basıyoruz kurulum ekranı geliyor ve kurulumu otomatik olarak gerçekleştiriyor.

froxlor

Kurulumun 2.aşamasına geçiş yapıyoruz burada froxlor için mysql ayarlarını vermemiz gerekiyor. Bu aşamada mysql_secure_installation komutu ile SSH üzerinden mysql kurulumu isteyebilir.

froxlor

Bu aşamadan sonra kurulum tamamen bitmiş olacak artık panelinize giriş yapabilirsiniz.

froxlor

Ayarlamış olduğunu kullanıcı adı ile giriş yapıyorsunuz ve artık istediğiniz her şeyi yapabilirsiniz. Kullanıcı tanımlayıp sunucunuzda müşterilerinizi barındırabilirsiniz.

loginscreen/

Giriş yaptınız karşınızda aşağıdaki gibi bir panel karşılayacak sizi oldukça güzel ve grafiksel olarak iyi tasarlanmış kullanımı da oldukça kolay sitenizi bu panelden yönetebilirsiniz.

froxlor

Froxlor yönetim paneli konusunda bilmeniz gereken bir noktada dosyaların /var/www/froxlor yada /var/www/html/froxlor bulunabilecek olması iki dizini de kontrol etmeniz önerilir tanımlanan ayarları kullanırsanız /var/www/html/froxlor dizininde olduğunu göreceksiniz.

Debian 10 Üzerine IPsec VPN Nasıl Kurulur?

Bir IPsec VPN, ağ trafiğinizi şifreler ve VPN sunucusu ile sizin bağlantınız arasındaki trafiği kimse göremez. Bu özellikle güvenli olmayan ağlarda, ağ trafiğinizi dinleyerek işlem yapan hükumetlere karşı çıkmada, hedef odaklı reklamları engellemede etkilidir.

IPsec/L2TP, Cisco IPsec ve IKEv2 protokollerini aşağıdaki betik ile birkaç dakika içinde kuracağız. Yeni açtığınız sanal sunucu üzerinde önce apt update && apt upgrade komutunu çalıştırıyoruz ve sistemi güncelleyelim.

Hemen ardından ise otomatik kurulum betiğimizi çalıştırıyoruz;

wget https://git.io/vpnsetup -O vpn.sh && sudo sh vpn.sh

Bu betik libreswan ve xl2tpd gibi uygulamaları indirip kuracak ve size kullanmanız için gerekli bilgileri verecek. Libreswan, RSA imzalarını kullanarak X.509 sertifikalarını kullanarak IKEv2 istemcilerinin kimliğini doğrulayabilir. Bu sebeple kullanıcı adı ve parola gerektirmez.

ipsec nasıl kurulur, ipsec otomatik kurulum betiği, ipsec nedir

İsterseniz herhangi bir IPSec desteği veren uygulamadan isterseniz de Windows’un kendi clienti ile giriş yapabilirsiniz.

Libreswan Uygulamasının Güncellenmesi

Geliştirilmeye devam eden IPSec uygulamasının güncel sürümlerini kurmak için ise aşağıdaki betiği çalıştırmanız yeterlidir. Gerekli olan indirme, kurma ve yapılandırma işlemlerini kendisi otomatik olarak yapacaktır.

wget https://git.io/vpnupgrade -O vpnup.sh && sudo sh vpnup.sh

PostgreSQL’de Nasıl Sürüm Yükseltilir?

Debian bir işletim sisteminde öncelikli olarak kurulacak güncel postgresql sürümü belirlenir, ben bu makaleyi kaleme alırken en güncel sürüm 13.2 olduğu için Postgresql repolarını direk sisteme dahil edeceğim.

Eğer Debian repolarını kullanırsam maksimum 12 sürümünü kullanabileceğim ki bu istediğim bir şey değil çünkü 13 sürümündeki bir takım özellikler gerekiyor ve bu özellikler hayat kurtaracak.

sudo sh -c 'echo "deb <http://apt.postgresql.org/pub/repos/apt> $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - <https://www.postgresql.org/media/keys/ACCC4CF8.asc> | sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresql-13

Bağımlılık kontrolü yapalım eksik bir şey kalmasını istemeyiz.

apt list --installed | grep postgresql

Hemen sonrasında eski sürüm yapılandırmalar’da yer alan değişikliklere göz atıyoruz.

diff /etc/postgresql/11/main/postgresql.conf /etc/postgresql/13/main/postgresql.conf
diff /etc/postgresql/11/main/pg_hba.conf /etc/postgresql/13/main/pg_hba.conf

Postgresql’in tüm servislerini durduruyoruz, sistem üzerinde kurulu olan her iki sürümüde kapatmalıyız.

sudo systemctl stop postgresql.service

Postgresql kullanıcısı ile giriş yapmalıyız

sudo su postgres

Postgresql migration işlemini gerçekleştirebilmemiz için pg_upgrade uygulamasını çalıştırmalıyız. Bunuda aşağıdaki gibi yapabilirsiniz.

/usr/lib/postgresql/13/bin/pg_upgrade \\
--old-datadir=/var/lib/postgresql/11/main \\
--new-datadir=/var/lib/postgresql/13/main \\
--old-bindir=/usr/lib/postgresql/11/bin \\
--new-bindir=/usr/lib/postgresql/13/bin \\
--old-options '-c config_file=/etc/postgresql/11/main/postgresql.conf' \\
--new-options '-c config_file=/etc/postgresql/13/main/postgresql.conf' \\
--check

Kontrolleri sağlanacak biraz sürebilir, kontroller tamamlandıysa ve hiç bir hata yoksa aşağıdaki gibi bir çıktı sizi karşılar

Performing Consistency Checks
-----------------------------
Checking cluster versions                                   ok
Checking database user is the install user                  ok
Checking database connection settings                       ok
Checking for prepared transactions                          ok
Checking for reg* data types in user tables                 ok
Checking for contrib/isn with bigint-passing mismatch       ok
Checking for tables WITH OIDS                               ok
Checking for invalid "sql_identifier" user columns          ok
Checking for presence of required libraries                 ok
Checking database user is the install user                  ok
Checking for prepared transactions                          ok
Checking for new cluster tablespace directories             ok
*Clusters are compatible*

Ardından --check parametresini kaldırıp işlemi başlatıyoruz.

/usr/lib/postgresql/13/bin/pg_upgrade \\
--old-datadir=/var/lib/postgresql/11/main \\
--new-datadir=/var/lib/postgresql/13/main \\
--old-bindir=/usr/lib/postgresql/11/bin \\
--new-bindir=/usr/lib/postgresql/13/bin \\
--old-options '-c config_file=/etc/postgresql/11/main/postgresql.conf' \\
--new-options '-c config_file=/etc/postgresql/13/main/postgresql.conf'

Bu işlem veritabanı boyutunuza göre değişebilir. Indexlerin alınmayacağını unutmayın. Tamamlandığında aşağıdaki gibi bir çıktı gene sizi bekliyor.

Performing Consistency Checks
-----------------------------
Checking cluster versions                                   ok
Checking database user is the install user                  ok
Checking database connection settings                       ok
Checking for prepared transactions                          ok
Checking for reg* data types in user tables                 ok
Checking for contrib/isn with bigint-passing mismatch       ok
Checking for tables WITH OIDS                               ok
Checking for invalid "sql_identifier" user columns          ok
Creating dump of global objects                             ok
Creating dump of database schemas
ok
Checking for presence of required libraries                 ok
Checking database user is the install user                  ok
Checking for prepared transactions                          ok
Checking for new cluster tablespace directories             ok
If pg_upgrade fails after this point, you must re-initdb the
new cluster before continuing.
Performing Upgrade
------------------
Analyzing all rows in the new cluster                       ok
Freezing all rows in the new cluster                        ok
Deleting files from new pg_xact                             ok
Copying old pg_xact to new server                           ok
Setting next transaction ID and epoch for new cluster       ok
Deleting files from new pg_multixact/offsets                ok
Copying old pg_multixact/offsets to new server              ok
Deleting files from new pg_multixact/members                ok
Copying old pg_multixact/members to new server              ok
Setting next multixact ID and offset for new cluster        ok
Resetting WAL archives                                      ok
Setting frozenxid and minmxid counters in new cluster       ok
Restoring global objects in the new cluster                 ok
Restoring database schemas in the new cluster
ok
Copying user relation files
ok
Setting next OID for new cluster                            ok
Sync data directory to disk                                 ok
Creating script to analyze new cluster                      ok
Creating script to delete old cluster                       ok
Upgrade Complete
----------------
Optimizer statistics are not transferred by pg_upgrade so,
once you start the new server, consider running:
./analyze_new_cluster.sh
Running this script will delete the old cluster's data files:
./delete_old_cluster.sh

Ardından servisleri root kullanıcısı ile başlatıyoruz.

systemctl start postgresql@13-main.service

Her şey olması gerektiği gibi mi diye postgresql üzerinde analiz için vacuum işlemini tetikliyoruz. Bu işlemi postgres kullanıcısı ile yapmayı unutmayın.

./analyze_new_cluster.sh

Çıktısı şu şekilde olmalı

This script will generate minimal optimizer statistics rapidly
so your system is usable, and then gather statistics twice more
with increasing accuracy.  When it is done, your system will
have the default level of optimizer statistics.
If you have used ALTER TABLE to modify the statistics target for
any tables, you might want to remove them and restore them after
running this script because they will delay fast statistics generation.
If you would like default statistics as quickly as possible, cancel
this script and run:
"/usr/lib/postgresql/13/bin/vacuumdb" --all --analyze-only
vacuumdb: processing database "project_x": Generating minimal optimizer statistics (1 target)
vacuumdb: processing database "postgres": Generating minimal optimizer statistics (1 target)
vacuumdb: processing database "template1": Generating minimal optimizer statistics (1 target)
vacuumdb: processing database "project_x": Generating medium optimizer statistics (10 targets)
vacuumdb: processing database "postgres": Generating medium optimizer statistics (10 targets)
vacuumdb: processing database "template1": Generating medium optimizer statistics (10 targets)
vacuumdb: processing database "project_x": Generating default (full) optimizer statistics
vacuumdb: processing database "postgres": Generating default (full) optimizer statistics
vacuumdb: processing database "template1": Generating default (full) optimizer statistics
Done

Ardından eski data klasörünü kaldıralım.

./delete_old_cluster.sh

Bu işlemler sorunucunda sistemde çift veritabanı sürümü olacağını unutmayın kullanmadığınız sürümü kalıcı olarak kaldırmanızı şiddetle öneririm.

sudo apt-get remove postgresql-11
sudo rm -rf /etc/postgresql/11/

Debian 9 Üzerine SOCKS5 Proxy Kurulumu

Dante SOCKS5 proxy aracının Debian 9 işletim sistemi üzerine nasıl kurulup yapılandırılacağını anlatacağım, çok basit bir şekilde istediğiniz sunucu üzerinden proxy çıkışı yapabileceksiniz. Kişiye özel hesap tanımlama imkanınız ve ip kısıtlaması gibi özellikleri de var.

Sisteme gerekli olan dante paketini dahil ediyoruz. Repoda güncel sürümü bulunmadığı için derlememiz daha iyi olacak ancak fark etmez bana diyenler olursa apt install dante-server ile kurulumu yapabilirler

apt update
apt install build-essential gcc make
wget http://www.inet.no/dante/files/dante-1.4.2.tar.gz
tar -xvf dante-1.4.2.tar.gz
cd dante-1.4.2
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-client --without-libwrap --without-bsdauth --without-gssapi --without-krb5 --without-upnp --without-pam
make
make install

Ardından servisini oluşturmamız gerekiyor bunun için nano /etc/init.d/danted de düzenleme yapacağız.

#! /bin/sh
### BEGIN INIT INFO
# Provides:          danted
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: SOCKS (v4 and v5) proxy daemon (danted)
# Description:       Starts or stops the Dante SOCKS proxy daemon.
#                    Its configuration is stored in the /etc/danted.conf file;
#                    see the danted.conf(5) manual page for details.
### END INIT INFO
#
# dante SOCKS server init.d file. Based on /etc/init.d/skeleton:
# Version:  @(#)skeleton  1.8  03-Mar-1998  miquels@cistron.nl
. /lib/lsb/init-functions
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/sockd
NAME=danted
DESC="Dante SOCKS daemon"
PIDFILE=/var/run/$NAME.pid
CONFFILE=/etc/$NAME.conf
test -f $DAEMON || exit 0
set -e
# This function makes sure that the Dante server can write to the pid-file.
touch_pidfile ()
{
if [ -r $CONFFILE ]; then
uid="`sed -n -e 's/[[:space:]]//g' -e 's/#.*//' -e '/^user\.privileged/{s/[^:]*://p;q;}' $CONFFILE`"
if [ -n "$uid" ]; then
touch $PIDFILE
chown $uid $PIDFILE
fi
fi
}
case "$1" in
start)
if ! egrep -cve '^ *(#|$)' \
-e '^(logoutput|user\.((not)?privileged|libwrap)):' \
$CONFFILE > /dev/null
then
echo "Not starting $DESC: not configured."
exit 0
fi
echo -n "Starting $DESC: "
touch_pidfile
start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE \
--exec $DAEMON -- -D
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE \
--exec $DAEMON
echo "$NAME."
;;
reload|force-reload)
#
#   If the daemon can reload its config files on the fly
#   for example by sending it SIGHUP, do it here.
#
#   If the daemon responds to changes in its config file
#   directly anyway, make this a do-nothing entry.
#
echo "Reloading $DESC configuration files."
start-stop-daemon --stop --signal 1 --quiet --pidfile \
$PIDFILE --exec $DAEMON -- -D
;;
restart)
#
#   If the "reload" option is implemented, move the "force-reload"
#   option to the "reload" entry above. If not, "force-reload" is
#   just the same as "restart".
#
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
sleep 1
touch_pidfile
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--exec $DAEMON -- -D
echo "$NAME."
;;
status)
if ! egrep -cve '^ *(#|$)' \
-e '^(logoutput|user\.((not)?privileged|libwrap)):' \
$CONFFILE > /dev/null
then
configured=''
else
configured='1'
fi
if start-stop-daemon --status --quiet --pidfile $PIDFILE \
--exec $DAEMON; then
if [ -n "$configured" ]; then
echo "$DESC running"
else
echo "$DESC running, yet not configured?!"
fi
else
if [ -n "$configured" ]; then
echo "$DESC not running"
else
echo "$DESC not configured"
fi
fi
;;
*)
N=/etc/init.d/$NAME
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
exit 1
;;
esac
exit 0

Danted uygulamasına erişim tanımlıyoruz.

chmod +x /etc/init.d/danted
update-rc.d danted defaults

Artık aşağıdaki servis komutlarını kullanabiliriz

systemctl status danted
systemctl start danted
systemctl stop danted

Kendi yapılandırmamızı yapacağımız için eski dosyayı yedekleyelim, ne olur ne olmaz bir yerde tekrar işimiz düşer google’da arama yaparak vakit kaybetmeyelim.

mv /etc/danted.conf /etc/danted.conf.bak

Yapılandırma dosyamızı nano /etc/danted.conf ile açalım ve aşağıdaki satırları ekleyelim.

logoutput: /var/log/socks.log
internal: eth0 port = 1080
external: eth0
clientmethod: none
socksmethod: username
user.privileged: root
user.notprivileged: nobody
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error connect disconnect
}
client block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect error
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: bind connect udpassociate
log: error connect disconnect
socksmethod: username
}
socks block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect error
}

Yapılandırmanın geçerli olabilmesi için servisi yeniden başlatalım.

systemctl restart danted

Şimdi sistemde var olan bir kullanıcı ile giriş yapılma imkanı var, tabii root kullanıcı ile giriş hoş olmaz bu sebeple yeni bir kullanıcı oluşturalım ve parola belirleyelim.

useradd mertcan -r
passwd mertcan

Ardından herhangi bir proxy aracı ile bağlantı sağlayıp kullanabilirsiniz.

Debian 10 Üzerine SOCKS5 Proxy Kurulumu

Dante SOCKS5 proxy aracının debian 10 işletim sistemi üzerine nasıl kurulup yapılandırılacağını anlatacağım, çok basit bir şekilde istediğiniz sunucu üzerinden proxy çıkışı yapabileceksiniz. Kişiye özel hesap tanımlama imkanınız ve ip kısıtlaması gibi özellikleri de var.

Sisteme gerekli olan dante paketini dahil ediyoruz.

apt install dante-server

Kendi yapılandırmamızı yapacağımız için eski dosyayı yedekleyelim, ne olur ne olmaz bir yerde tekrar işimiz düşer google’da arama yaparak vakit kaybetmeyelim.

mv /etc/danted.conf /etc/danted.conf.bak

Yapılandırma dosyamızı nano /etc/danted.conf ile açalım ve aşağıdaki satırları ekleyelim.

logoutput: /var/log/socks.log
internal: eth0 port = 1080
external: eth0
clientmethod: none
socksmethod: username
user.privileged: root
user.notprivileged: nobody
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error connect disconnect
}
client block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect error
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: bind connect udpassociate
log: error connect disconnect
socksmethod: username
}
socks block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect error
}

Yapılandırmanın geçerli olabilmesi için servisi yeniden başlatalım.

systemctl restart danted

Şimdi sistemde var olan bir kullanıcı ile giriş yapılma imkanı var, tabii root kullanıcı ile giriş hoş olmaz bu sebeple yeni bir kullanıcı oluşturalım ve parola belirleyelim.

useradd mertcan -r
passwd mertcan

Ardından herhangi bir proxy aracı ile bağlantı sağlayıp kullanabilirsiniz.