بایگانی برای دسته "Uncategorized"

فعال کردن تایید اعتبار در prometheus

بدون نظر
در پرومتئوس بطور پیش فرض از اعتبار سنجی کاربر استفاده نمی کند.
برای استفاده از اعتبار سنجی می توانید از یک reverse pro*xy استفاده کنید.
برای اینکار از nginx اینجا استفاده می کنیم.
بعد از نصب nginx با دستور زیر یک یوزر و پسورد در فایل ذخیره می کنیم
htpasswd -c /etc/nginx/.htpasswd admin

در اینجا یوزر admin هست مسیر فایل هم در همان پوشه تنظیمات nginx قرار دارد در صورتی که در مسیر دیگه ای فایل را ساختید بعدا در فایل تنظیمات prometheus هم باید آن مسیر را وارد کنید.

بعد از اجرا دستور پسورد پرسیده می شود که وارد میکنید تا در فایل بصورت هش شده ذخیره شود.


فرض شده پورت prometheus بر روی 9090 هست.این کد را در فایل /etc/nginx/nginx.conf کپی می کنید.

http {

server {

listen 0.0.0.0:19090;

 location / {

proxy_pass http://localhost:9090/;

 auth_basic "Prometheus";

}

 auth_basic_user_file /etc/nginx/.htpasswd;

 }
 }
events {
}

حالا سرویس nginx را اگر اجرا هست یکبار ری استارت کنید.

بعد از طریق آدرس your_server_ip:19090 می توانید به prometheus دسترسی داشته باشید و از شما یوزر و پسورد سوال می کند.

الان prometheus از طریق پورت قبلی 9090 نیز در دسترس هست برای اینکه دسترسی آن را از خارج از شبکه قطع کنیم این دو دستور وارد کنید

iptables -A INPUT -p tcp –dport 9090 -s 127.0.0.0/8 -j ACCEPT
iptables -A INPUT -p tcp –dport 9090 -j DROP

دستور اول دسترسی به پورت 9090 را فقط به لوکال می دهد و دستور دوم دسترسی از بقیه را قطع می کند.


 
    
    
    

فعال کردن Google BBR

بدون نظر

فعال کردن (BBR (Bottleneck Bandwidth and RTT باعث افزایش سرعت شبکه  سرور و کاهش تاخیر می شود.

ezgif.com-resize (1)

برای فعال کردن این ویژگی باید از کرنل 4.9 به بالا استفاده کنید.

با زدن دستور زیر نسخه کرنل خود را مشاهده کنید

uname -msr

در صورتی که کرنل پایینتر از 4.9 هست باید کرنل جدید نصب کنید

برای centos7 این دستورات را وارد کنید

rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

yum –enablerepo=elrepo-kernel install kernel-ml -y

در صورتی که کرنل به درستی نصب شده باشد بعد از زدن دستور زیر باید در لیست کرنل های موجود نسخه 5 وجود داشته باشد

rpm -qa | grep kernel

.

kernel-headers-3.10.0-1062.9.1.el7.x86_64
kernel-3.10.0-1062.4.3.el7.x86_64
kernel-ml-5.4.8-1.el7.elrepo.x86_64
kernel-3.10.0-1062.7.1.el7.x86_64
kernel-tools-3.10.0-1062.9.1.el7.x86_64
kernel-3.10.0-1062.9.1.el7.x86_64
kernel-tools-libs-3.10.0-1062.9.1.el7.x86_64

حالا باید کرنل جدید را فعال کنید.

این دستور را وارد کنید تا لیست منوهای بوت را نشان دهده.

egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'
.
بعد از وارد کردن دستور متنی مانند شکل زیر مشاهده میکنید.
.
CentOS Linux (5.4.8-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.9.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.7.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.4.3.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-0c40d58876ec4371b72aadc22cb02065) 7 (Core)

.

منو ها از شماره صفر شروع می شوند در اینجا چون کرنل اول قرار گرفته به معنای شماره صفر هست در صورتی که در منو دوم بود شماره 1 بود.

grub2-set-default 0
حالا سرور را یکبار ریبوت کنید تا با کرنل جدید بوت شود.
shutdown -r now
بعد از بالا آمدن سرور نسخه کرنل را چک کنید
uname -msr
در صورت درست بودن برای فعال کردن BBR تغییراتی در systctl ایجاد کنید.
این دستور را وارد کنید

echo ‘net.core.default_qdisc=fq’ | tee -a /etc/sysctl.conf

echo ‘net.ipv4.tcp_congestion_control=bbr’ | tee -a /etc/sysctl.conf

sysctl -p

برای مطمئن شدن از فعال شدن BBR این دستور را بزنید

sysctl net.ipv4.tcp_available_congestion_control

باید خروجی مانند زیر باشد
net.ipv4.tcp_available_congestion_control = reno cubic bbr

همچنین با وارد کردن دستور lsmod | grep bbr باید خروجی زیر نشان دهد.

tcp_bbr                20480  142

در صورت مشاهده خروجی بالا BBR بر روی سرور شما به درستی نصب و فعال شده است.














لینوکس Alpine

بدون نظر

alpine
به علت حجم کم (5MB) و سبک بودن برای استفاده در کانتینرها مناسب می باشد.

docker run -i -t alpine /bin/sh
برای نصب برنامه از این دستور استفاده می شود.
apk add name
مثال:
apk add openssh
برای استفاده از سرویس ها باید پکیج openrc نصب شود
apk add openrc
برای اضافه کردن سرویس
rc-update add service-name
مثال:
rc-update add sshd
برای اجرای سرویس
rc-service service-name start
مثال:
rc-service sshd start

برای نصب یک برنامه از ریپازیتوری مورد نظر

apk add package-name –repository=http://dl-cdn.alpinelinux.org/alpine/edge/main

برای ویرایش لیست ریپازیتوری
nano /etc/apk/repositories
بعد ریپازیتوری مورد نظرتان را اضافه کنید مانند

http://dl-cdn.alpinelinux.org/alpine/edge/community

http://dl-cdn.alpinelinux.org/alpine/edge/main

بعد از ذخیره دستور زیر را وارد کنید تا لیست آپدیت شود
apk update
برای کامپایل کردن پکیج build-base را نصب کنید

در صورتی که از طریق داکر نصب نکرده اید برای فعال کردن کارت شبکه این دستور بزنید
nano /etc/network/interfaces
بعد این مقادیر را کپی کنید

auto eth0
iface eth0 inet dhcp

این برای حالتی هست که سرور شما از dhcp استفاده میکند
برای اعمال دستی تنظیمات از این استفاده کنید. مقادیر را با توجه به سرور خود تغییر بدید.

iface eth0 inet static
address 192.168.1.150
netmask 255.255.255.0
gateway 192.168.1.1

برای فعال شدن کارت شبکه
ifup eth0
یا
/etc/init.d/networking restart


نصب میکروتیک CHR بوسیله کرنل لینوکس

بدون نظر

ابتدا یک توزیع لینوکس مانند CentOS 7 را نصب کنید.
سپس از طریق پنل حالت Rescue Mode را فعال کنید.
اگه در پنل مجازی ساز شما این گزینه فعال نیست یک iso لینوکس را بوت کنید و سپس حالت Rescue رو انتخاب کنید.
در صورتی که از طریق پنل Resuce Mode فعال کرده باشید تنظیمات شبکه خودکار ست می شود در صورتی که از طریق iso حالت Rescue فعال شده باشد تنظیمات شبکه را بصورت دستی وارد کنید تا اینترنت برقرار شود.
فایل دیسک میکروتیک chr را از سایت میکروتیک دانلود کنید.
wget https://download.mikrotik.com/routeros/6.45.3/chr-6.45.3.img.zip

در صورت اخطار مربوط به ssl از این دستور استفاده کنید

wget https://download.mikrotik.com/routeros/6.45.3/chr-6.45.3.img.zip –no-check-certificate

فایل دیسک را از حالت زیپ خارج کنید

gunzip -S .zip chr-6.45.3.img.zip

حالا باید نام هارد سرور را پیدا کنید

fdisk -l

بعد از زدن دستور پیام /dev/sda1 را نشان داد یعنی نام پارتیشن هارد شما sda هست.
دستور pwd را بزنید تا ببینید در چه مسیری هستید.
به فرض در مسیر root/ بودید.
این دستور را میزنید تا فایل raw میکروتیک جایگزین پارتیشن لینوکس شود.
dd if=/root/chr-6.45.3.img of=/dev/sda

قسمت اول آدرس فایل هارد میکروتیک هست که دانلود کردید قسمت دوم آدرس هارد سرور شما هست.


نصب درایور virtio برای ویندوز سرور در مجازی ساز KVM/Virtualizor

بدون نظر

ابتدا فایل iso را در قسمت media/iso اضافه کنید.
1
در قسمت تنظیمات vps برای CDROM دوم فایل virtio-win.iso را انتخاب کنید.

2
در قسمت انتخاب پارتیشن هارد برای نصب ویندوز گزینه Load Driver را بزنید و درایو cdrom رو انتحاب کنید.
برای نصب درایور هارد پوشه viostor را انتخاب کنید و با توجه به نسخه ویندوز سرور یکی از پوشه ها را انتخاب کنید.در اینجا نسخه ویندوز سرور 2019 هست.
3
.
4

.
5

.

برای کارت شبکه پوشه NETKVM را انتخاب کنید و با توجه به نسخه ویندوز سرور یکی را انتخاب کنید.

6
.
7


حذف سرور اسلیو virtualizor

1 نظر

در صورتی که به سرور Master دسترسی نداشته باشید وارد سرور Slave بشید . این فایل رو باز کنید
/usr/local/virtualizor/universal.php
و این مقادیر رو تغییر بدید
$globals[‘slave’] = 0;
$globals[‘masterkey’] = ”;
$globals[‘masterip’] = ”;
سپس سرور شما تبدیل به Master می شود.


تفاوت در مقدار فضای خالی

بدون نظر

در صورتی که مقدار فضای نشان داده شده توسط دستور df با فضای خالی واقعی که توسط du نشان داده می شود تفاوت داشت یکی از دلایل باز ماندن فایل پاک شده توسط برنامه می باشد.
که با استفاده از این دستور میتوانید فایل های پاک شده که باز هستند رو پیدا کنید و سرویس آن برنامه را ریست کنید یا توسط pid نشان داده شده ببندید.
lsof +L 1 / | grep -i deleted


رمزنگاری فایل در لینوکس

بدون نظر

یکی از روش های رمگزاری فایل در لینوکس استفاده از GnuPG هست.

در صورتی که در سرور نصب نیست با این دستور نصب کنید

yum install gnupg

برای رمزگذاری فایل از این دستور استفاده کنید. به جای filename نام فایل مورد نظرتان را وارد کنید

gpg -c filename

بعد از زدن این دستور از شما می خواهد که یک پسورد وارد کنید.

برای رمزگشایی فایل از این دستور استفاده کنید

gpg filename

سپس پسوردی که موقع رمزگذاری وارد کردید را وارد نمایید.

برای اینکه بتوانید بدون وارد کردم پسورد فایل رمگذاری کنید از این دستور استفاده کنید.

gpg  –batch –passphrase PASSWORD -c  FILENAME

به جای PASSWORD رمز خود را جایگذاری کنید

بطور پیشفرض از رمگذاری AES-128 استفاده میشه در صورت نیاز به AES-256 از این دستور استفاده کنید

gpg –cipher-algo AES256  –batch –passphrase PASSWORD -c  FILENAME

 

 


حل مشکل IBSng در Centos7

8 نظر

برای حل خطای

Forbidden
You don't have permission to access /IBSng/admin/ on this server.

این دستور وارد کنید
nano /etc/httpd/conf/httpd.conf
و سپس این متن را کپی کنید

 

<Directory "/usr/local/IBSng/interface/IBSng">
    AllowOverride None
    Options None
    Require all granted
</Directory>

و سپس سرویس آپاچی را ری استارت کنید

service httpd restart

برای حل خطا موقع ساخت یوزر و شارژ

Internal Error, Can’t connect to IBS Core (HTTP/1.0 500 Internal Server Error)

این دستور وارد کنید

nano /usr/local/IBSng/core/server/xmlrpcserver.py

و سپس این متن را کپی کنید

def dump_decimal(self,value, write):

write("<value><double>")

write("</double></value>\n")

write(str(value))

Marshaller.dispatch[Decimal] = dump_decimal

.

service IBSng restart

.

ibs7

.

برای حل اخطار موقع حذف یوزر

unsupported operand type(s) for +=: ‘float’ and ‘Decimal’

این دستور وارد کنید

nano /usr/local/IBSng/core/admin/admin.py

سپس در خط 140 کد را به کد زیر تغییر بدید

کد قدیم: self.deposit+=deposit_change

کد جدید:self.deposit+=float(deposit_change)

float


محدود کردن دسترسی یوزر به یک پوشه خاص

بدون نظر

اگه بخایم یک یوزر بسازیم که وقتی با sftp وصل شد فقط به یک پوشه خاص بتونه دسترسی داشته باشه از این روش استفاده میکنیم.

ابتدا یک گروه می سازیم

Groupadd sftp

اسم گروه هر چیزی می تونید بذارید.

بعد باید یه پوشه بسازیم که یوزر محدود به این پوشه بشه فقط و جای دیگه دسترسی نداشته باشه

پوشه فرضی اینجا sftpusers  هست توی مسیر اصلی. هر جایی خواستید میتونید بسازید یا پوشه ای از قبل وجود داشته باشه.

mkdir -p /sftpusers

و بعد مالکیت پوشه رو به یوزر روت منتقل میکنیم

chown root:root /sftpusers

 

حالا یه یوزر می سازیم بدون دسترسی به ssh

adduser test -g sftp -s /sbin/nologin

حالا پسورد ست میکنیم براش

Passwd test

اگه قبلا یوزر ساخته شده باشه از این دستور استفاده میکنیم تا نتونه با ssh  وصل بشه

usermod -s /sbin/nologin -g sftp  test2

test2  اسم یوزر فرضی هست.

حالا فرض میکنیم توی پوشه که تعیین کردیم 3 تا فولدر هست

Folder1

Folder2

Folder3

می خایم دسترسی به شماره 3 رو محدود کنیم براش

chmod 700 /sftpusers/Folder3

با این دستور سطح دسترسی فقط برای یوزر روت میشه و بقیه یوزرها تا زمانی که بهشون دسترسی ندین نمیتونن واردش بشن

حالا باید  ssh_config  رو ویرایش کنیم

هم با دستور nano  میشه هم با winscp

nano /etc/ssh/sshd_config

من واسه راحتی از winscp استفاده کردم

این دستورات رو باید در انتهای اون کپی کنید

Subsystem sftp  internal-sftp

Match Group sftpgroup

ChrootDirectory /sftpusers/

ForceCommand internal-sftp

X11Forwarding no

AllowTcpForwarding no

 

فقط توجه کنید که subsystem از قبل احتمالا اونجا باشه اگه بود جلوش علامت  #  بذارید تا غیر فعال بشه. شکل کلی باید شبیه عکس زیر باشه

scp

 

بعد از تنظیمات یکبار سرویس ssh رو ریست باید کنید service sshd restart