Daripada memasukkan aturan secara manual yang bisa Anda gunakan iptables
untuk menambahkan aturan ke rantai yang sesuai dan kemudian menyimpannya. Ini akan memungkinkan Anda untuk men-debug aturan secara langsung, mengkonfirmasikannya sudah benar, daripada harus menambahkannya ke file seperti yang tampaknya Anda lakukan.
Untuk membuka port 80 saya melakukan ini:
$ sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo /etc/init.d/iptables save
Perintah terakhir akan menyimpan aturan yang ditambahkan. Ini adalah aturan yang akan saya gunakan untuk membuka port untuk lalu lintas web.
Mengapa aturan Anda menyebabkan masalah
Jika Anda perhatikan aturan yang Anda coba gunakan:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Memiliki rantai yang disebut "RH-Firewall-1-INPUT". Jika Anda tidak memiliki rantai ini, atau tautan dari INPUT
rantai ke rantai ini, maka aturan ini tidak akan pernah bisa dijangkau. Aturan ini mungkin bisa seperti ini:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Atau INPUT
rantai Anda harus terhubung ke rantai ini RH-Firewall-1-INPUT
dengan aturan seperti ini:
$ sudo iptables --list
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
....
CATATAN: Anda dapat melihat rantai apa yang Anda miliki dengan perintah ini:
$ sudo iptables -L| grep Chain
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
...
Negara-negara bagian mungkin perlu dimodifikasi agar koneksi yang ada juga diizinkan.
-A INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Juga saat Anda menggunakan -A
sakelar, Anda menambahkan aturan ke rangkaian INPUT
. Jika ada aturan lain sebelum itu yang memblokir dan / atau mengganggu pencapaian aturan ini, itu tidak akan pernah dieksekusi. Jadi, Anda mungkin ingin memindahkannya ke atas dengan memasukkan daripada menambahkan, seperti ini:
-I INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Menggunakan GUI
Firewall bisa menjadi binatang yang rumit. Jadi, Anda mungkin ingin mencoba TUI sebagai gantinya (TUI adalah GUI untuk terminal).
$ sudo system-config-firewall-tui
Anda kemudian dapat pergi melalui berbagai layar pengaturan iptables
aturan.
Referensi
/etc/sysconfig/iptables
dan menambahkannya. Entri asli Anda harus di file ini/etc/sysconfig/iptables.save
,.Saya baru-baru ini menginstal CentOS 6.5 sebagai mesin virtual untuk alasan yang sama, untuk digunakan sebagai server web virtual. Ngomong-ngomong, saya mengikuti cara-cara yang sangat rinci dari CentOS wiki . Kemudian, sesuai jawaban @slm, saya menambahkan port 80 ke sana dan disimpan menggunakan
sudo /etc/init.d/iptables save
.iptables -L -v
memiliki output ini:sumber
Jika ingin mengedit pengaturan firewall Anda tetapi Anda tidak terbiasa
iptables
, saya sarankan Anda untuk menggunakansystem-config-firewall-tui
alat ini jika Anda tidak memiliki server X, gunakansystem-config-firewall
, yang merupakan alat GUI untuk itu.sumber