Jawaban lain digunakan iptables -Idalam contoh mereka, yang seringkali bukan yang seharusnya Anda gunakan.
iptables akan menjalankan aturan pertama yang cocok, sehingga urutan aturan sangat penting. -Iadalah perintah "masukkan", dan harus digunakan dengan parameter indeks untuk menentukan di mana dalam daftar aturan yang diberikan berada. -Aadalah perintah "append", yang akan menambahkan aturan ke akhir daftar.
Dalam beberapa distrobutions (mungkin semua) menggunakan -Itanpa parameter indeks akan menambahkan aturan ke indeks satu, menjadikannya aturan pertama yang diperiksa. Dalam skenario ini jika perintah terakhir yang Anda jalankan adalah iptables -I INPUT -s tcp 0.0.0.0/0 -j DROPiptables akan menjatuhkan semua lalu lintas, terlepas dari apakah Anda memiliki ACCEPTaturan atau tidak nanti dalam rantai.
Berikut contoh pengaturan aturan yang hanya mengizinkan SSH dari satu IP:
Mulai tanpa aturan:
#> iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Tambahkan aturan "izinkan SSH baru dari 1.2.3.4":
#>iptables -A INPUT -p tcp -s 1.2.3.4 --dport 22 -j ACCEPT
Blokir SSH dari semua IP lain:
#>iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 22 -j DROP
Sekarang rantai INPUT Anda akan terlihat seperti:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 1.2.3.4 0.0.0.0/0 tcp dpt:22
DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
Kemudian, jika Anda perlu memasukkan daftar putih IP kedua Anda dapat menggunakan -Iparameter untuk menempatkannya sebelum aturan daftar hitam.
#>iptables -I INPUT 2 -p tcp -s 4.3.2.1 --dport 22 -j ACCEPT
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 1.2.3.4 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- 4.3.2.1 0.0.0.0/0 tcp dpt:22
DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
Perhatikan bahwa menggunakan -I INPUT 2menambahkan aturan baru sebagai aturan nomor 2 dan menabrak aturan DROP ke nomor 3.
iptablesmendukung inversi dengan operator letusan jika Anda ingin melakukan yang ditargetkanDROP. Contoh:iptables -I INPUT -p tcp ! -s <permittedIP> -j DROP