CentOS 6.5'te port 80'i açın


14

Port 80'i CentOS 6.5'imde sanal makinemde açmaya çalışıyorum, böylece apache'ye masaüstümün tarayıcısından erişebiliyorum.

resim açıklamasını buraya girin

Yukarıdaki ekran görüntüsüne bakarsanız .... http://www.cyberciti.biz/faq/linux-iptables-firewall-open-port- 80 / Şimdi tarayıcımda IP adresini girerken apache test sayfası alıyorum, ancak iptables yeniden başlatılırken CentOS yeni kuralı uygulamaya çalıştığında "FAILED" iletisi alıyorum.

Bunun için bir çözüm bilen var mı? Yoksa hatayı görmezden gelmem gerekir mi?

Yanıtlar:


28

Kuralları manuel olarak iptablesgirmek yerine, kuralları uygun zincirlere eklemek ve sonra kaydetmek için kullanabilirsiniz. Bu, kuralların canlı hatalarını ayıklamanıza izin verir, yaptığınız gibi dosyaya eklemek yerine doğru olduklarını doğrular.

80 numaralı bağlantı noktasını açmak için şunu yaparım:

$ sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo /etc/init.d/iptables save

Son komut eklenen kuralları kaydedecektir. Bu, web trafiği için bağlantı noktasını açmak için kullanacağım kuraldır.

Kuralınız neden sorunlara neden oluyor?

Kullanmaya çalıştığınız kuralı fark ederseniz:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

"RH-Güvenlik Duvarı-1-GİRİŞ" adlı bir zinciri vardır. Bu zincire veya zincirden bu zincire bir bağınız yoksa INPUT, bu kurala asla ulaşılamaz. Bu kural muhtemelen şöyle olabilir:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

Veya INPUTzinciriniz bu zincire aşağıdaki RH-Firewall-1-INPUTgibi bir kuralla bağlantı kurmalıdır :

$ 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
....

NOT: Bu komutla hangi zincirlere sahip olduğunuzu görebilirsiniz:

$ sudo iptables -L| grep Chain
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
...

Ayrıca, mevcut bağlantılara da izin vermek için durumların değiştirilmesi gerekebilir.

-A INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT

Ayrıca -Aanahtarı kullandığınızda kuralı zincire eklersiniz INPUT. Öncesinde, bu kuralın gerçekleştirilmesini engelleyen ve / veya buna müdahale eden başka kurallar varsa, asla yürütülmez. Bu nedenle, eklemek yerine eklemek yerine en üste taşımak isteyebilirsiniz, şöyle:

-I INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT

GUI'yi kullanma

Güvenlik duvarları karmaşık hayvanlar olabilir. Bunun yerine TUI'yi denemek isteyebilirsiniz (TUI'ler terminal için GUI'lardır).

$ sudo system-config-firewall-tui

Daha sonra iptableskuralları belirleyen çeşitli ekranlardan geçebilirsiniz .

            ss # 1

            ss # 2

Referanslar


Son kural iptables dosyamdaki tüm önceki kuralları sildi ve sadece yukarıdaki kuralları ekledi (sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j KABUL). Artık artık apache sayfasına tarayıcımdan da erişemiyorum.
Erik van de Ven

1
@ErikVandeVen - özür dilerim bunu daha net hale getirmedim. Sahip olduğunuz diğer kuralların da aynı şekilde eklenmesi ve kaydedilmesi gerekir (sam zamanında) veya dosyaya /etc/sysconfig/iptablesgidip ekleyebilirsiniz. Orijinal girişleriniz bu dosyada olmalıdır /etc/sysconfig/iptables.save.
slm

Teşekkürler, iptables.save kopyalayarak iptables geri yükleyebilirsiniz. Ancak yine de bir hata almadan ve aynı zamanda tarayıcımda apache test sayfasını açmadan kuralı ekleyemedim. İlk olarak riclags'ın gönderdiği öğreticiye bir göz atacağım :)
Erik van de Ven

1
Adamım, bu cevabın neden henüz tek bir cevap aldığını tamamen anlamadım. Mükemmel detaylı cevap. Birini binlerce teşekkür gibi düşünün.
Samiron

1
Bu güvenlik duvarı GUI bir tanrı gönderme, daha önce hiç görmedim!
Matt Fletcher

0

Yakın zamanda CentOS 6.5'i aynı nedenle sanal bir web sunucusu olarak sanal bir web sunucusu olarak kullanmak üzere kurdum. Her neyse, CentOS wiki'sinden bu çok detaylı nasıl yapıldığını takip ettim . Sonra, @slm cevabına göre, 80 numaralı portu ekledim ve kullanarak kaydettim sudo /etc/init.d/iptables save.

iptables -L -v şu çıktıya sahiptir:

Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  lo     any     anywhere             anywhere            
  214 17168 ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED 
    1    44 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh 
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:http 

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 169 packets, 15164 bytes)
 pkts bytes target     prot opt in     out     source               destination

0

Güvenlik duvarı ayarlarınızı düzenlemek istiyorsanız, ancak aşina değilseniz, X sunucunuz yoksa , GUI aracı olan GUI aracını iptableskullanmanızı öneririz .system-config-firewall-tuisystem-config-firewall

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.