Bir başka konumda temel Iptables kullanımı ile ilgili bilgi vermiştim. Iptables üzerinde çok işlem yapıyorsanız eğer, yeni IP adreslerine izin tanımlama farklı portlara izin tanımlama gibi,
sürekli sürekli aynı komutları yazmak sıkıcı gelebilir. Aşağıdaki paylaştığım script ile bu işlemi kısa sürede halledebilirsiniz.
#!/bin/bash
# Muhammed Niyazi ALPAY
# https://niyazi.org
function iptablesrules(){
echo ""
echo "=========================================================="
echo ""
read -p "IP adreslerini aralarında virgül ile birlikte giriniz: " ipaddresses
echo ""
read -p "Port numaralarını aralarında virgül ile birlikte giriniz: " ports
echo ""
echo 0 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -p tcp -m multiport --dports $ports -s 127.0.0.1,$ipaddresses -j ACCEPT
iptables -A INPUT -p udp -m multiport --dports $ports -s 127.0.0.1,$ipaddresses -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports $ports -j DROP
iptables -A INPUT -p udp -m multiport --dports $ports -j DROP
echo 1 > /proc/sys/net/ipv4/ip_forward
echo ""
echo "=========================================================="
echo ""
echo "İşlem başarı ile tamamlandı."
echo ""
echo "=========================================================="
echo ""
}
read -p "Önceki Iptables kuralları silinsin mi? (e ya da h) " removerule
if [ ${removerule} == "e" ]; then
echo "Iptables kuralları silindi"
iptables --flush
elif [ ${removerule} == "h" ]; then
echo ""
else
echo "Lütfen e veya h olarak giriş yapın"
fi
iptablesrules
condition_to_check="False"
while [[ ${condition_to_check} == "False" ]]; do
read -p "İşleme devam edilsin mi? (e ya da h) " query
if [ ${query} == "h" ]; then
condition_to_check="True"
elif [ ${query} == "e" ]; then
iptablesrules
else
echo "Lütfen e veya h olarak giriş yapın"
fi
done
chkconfig iptables on
service iptables save
echo ""
echo "===========
Iptables Linux bilgisayarlarda firewall olarak kullanılan bir yazılımdır. Iptables ile sisteminize gelen ve sisteminizden giden bağlantıları engelleyebilir, farklı bir yere yönlendirebilir veya izin verebilirsiniz. Iptables kurallar zinciri, bu kurallar zincirlerine ait parametreler ve bağlantı hedefleri ile birlikte çalışmaktadır.
Kural Zincirleri
INPUT Gelen paketleri tanımlamak için.
OUTPUT Giden paketleri tanımlamak için.
FORWARD Yönlendirilen paketleri tanımlamak için.
PREROUTING Sadece NAT için geçerlidir. Gelen paketlerin değiştirilmesi için.
POSTROUTING Sadece NAT için geçerlidir. Giden paketlerin değiştirilmsi için.
Kural Hedefleri
ACCEPT Paketlerin geçisine izin vermek için.
DROP Paketlerin geçişini reddetmek için.
REJECT Paketlerin erişimi reddedilir ve gönderici bu konuda bilgilendirilir.
RETURN Zincirin sonuna gönderilir.
QUEUE Paketler kullanıcı alanına gönderilir.
Kural Parametreleri
-A ZİNCİR Zincire kural ekler.
-E ZİNCİR Zinciri yeniden adlandırır.
-D ZİNCİR Zincirden bir kural siler.
-D ZİNCİR Zincirden belirtilen numaradaki kurali siler.
-L ZİNCİR Belirtilen zincirdeki kurallari gösterir.
-E ZİNCİR Zinciri yeniden adlandirir.
-l ZİNCİR Zincirde belirtilen numaralı alana kuralı ekler.
-R ZİNCİR Zincirde kuralın yerine başkasını koyar.
-R ZİNCİR Zincirde belirtilen numaralı alana bir başkasını koyar.
-N ZİNCİR Yeni bir zincir oluşturur.
-X ZİNCİR Kullanıcının eklediği bir zinciri siler.
-F ZİNCİR Zincirdeki kuralların tümünü siler.
-P ZİNCİR Zincire genel politika ekler.
Kural Seçenekleri
! Kuralı tersine çevirir.
-s Bağlantı sağlayacak adresi belirtmek içn kullanılır 127.0.0.1/255.0.0.0 gibi..
-p UDP,TCP,ICMP,ALL bağlantı protokollerini belirtmek içi
Çerçeveler tarayıcımızda birden fazla html döküman açmamızı sağlar. Her çerçeve de ayrı bir html sayfa vardır ve bunların hepsi birbirinden bağımsızdır.
Dezavantajları;
İstenilen sayfanın yazıcıya gönderilmesi zordur
Her sayfayı takip etmek zordur
Frameset etiketi
<frameset> sayfanın hangi biçimde çerçeveye ayrılacağını belirler, satır veya sütun olarak belirlenir.
Frame etiketi
Her bir çerçevede hangi dökümanın görüntüleneceğini belirtir.
<frameset cols="30%,70%">
<frame src="frame_1.htm">
<frame src="frame_2.htm">
</frameset>
Burada iki sütunlu bir çerçeve belirlenmiş, ilk çerçeve için tarayıcının %30 u ikinci çerçeve için tarayıcının %70 i ayrılmıştır.
%30 luk alana frame_1.html, %70 lik alana da frame_2.html dökümanları çağırılmıştır.
Çerçeveler günümüz standartlarında kullanılmayan, W3C tarafından kullanımdan kaldırlmış bir etikettir, bunun yerine daha çok tablolu sayfalar ya da daha da gelişmişi, tablo kullanmadan <div> ler ile yapılan sayfalar kullanımaktadır. <div> leri css ile birlikte anlatacağım.
Tablolar
Table etiketi ile belirlenir, tr ile satırlara, td ile de sütunlara bölünür.
<td> nin anlamı "table data" dır, yani veri hücresi, tablo içerisine eklenecek olan nesneler (resim, paragraf, form elemanları vs) td etiketinin içinde yazılır.
<table border="1">
<tr>
<td> 1. Satır, 1. Hücre </td>
<td> 1. Satır, 2. Hücre </td>
</tr>
<tr>
<td> 2. Satır, 1. Hücre </td>
<td> 2. Satır, 2. Hücre </td>
</tr>
</table>
Tablonun ekran çıktısı
1. Satır, 1. Hücre
1. Satır, 2. Hücre
2. Satır, 1. Hücre
2. Satır, 2. Hücre
border parametresi ile