Yol 1:
yum install knockd
Yol 2:
wget http://pkgs.repoforge.org/knock/knock-0.5-1.rf.src.rpm
rpm -Uvh knock-0.5-1.rf.src.rpm
Kurulum tamamlandıktan sonra /etc/default/knockd dosyasında hangi ethernet arayüzü dinlenecekse ayarlayalım. Belirttiğim dosyayı aşağıdaki ile değiştirmeniz yeterli olacaktır.
# otomatik başlaması için değeri 1 veriyoruz
START_KNOCKD=1
# Hangi arayüz dinlenecekse eth0 arayuzunu degistiriyoruz.Default eth0
KNOCKD_OPTS="-i eth0"
Kurulumu tamamladık şimdi servisi service knockd start komutu ile başlatalım ve örneklere geçelim.
Örnek 1 :
Amacımız;
sırasıyla 7777 4444 6589 portlarına istek geldiğinde httpd(apache) servisini kapatmak
Sırasıyla 9988 2365 9874 portlarına istek geldiğinde ise httpd(apache) servisini çalıştırmak
Bu işlem için /etc/knockd.conf dosyasını aşağıdaki gibi değiştirelim.
[options]
UseSyslog
[stopHTTPD]
sequence = 7777:tcp,4444:tcp,6589:tcp
seq_timeout = 10
command = /etc/init.d/httpd stop
tcpflags = syn
[startHTTPD]
sequence = 9988:tcp,2365:tcp,9874:tcp
seq_timeout = 10
command = /etc/init.d/httpd start
tcpflags = syn
Örnek 2 :
Sırasıyla 9685 ve 6987 portlarına istek geldiğinde mysql portunu dışarıya kapatmak
Sırasıyla 9999 ve 8888 portlarına istek geldiğinde mysql portunu dışarıya açmak
Bu işlem için /etc/knockd.conf dosyasını aşağıdaki gibi değiştirelim.
[options]
UseSyslog
[blockMYSQLport]
sequence = 9865:tcp,6987:tcp
seq_timeout = 10
command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 3306 -j DROP
tcpflags = syn
[unblockMYSQLport]
sequence = 9999:tcp,8888:tcp
seq_timeout = 10
command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 3306 -j ACCEPT
tcpflags = syn
Şimdi gelelim uygulamayı çalıştırmaya. Aynı uygulamayı farklı bir makinaya kuralım ve ilk örneği aşağıdaki komutlarla uygulayalım.
knock -v IP.AD.RE.SI 7777 4444 6589 (Bu komutla httpd'yi durdurduk)
knock -v IP.AD.RE.SI 9988 2365 9874 (Bu komutla da httpd'yi başlattık)
Edit : Kendi blogumdan alıntıdır. Lütfen sizde alıntı yapacaksanız http://sahinozgoren.com veya http://wmaraci.com adresini kaynak gösteriniz.