80'den 8080'e bağlantı noktası yönlendirmeyi sürdürüyor


23

Ubuntu ile çalışan amazon EC2 örneğini kullanıyorum. Varsayılan olarak güvenlik kısıtlamalarına göre, uygulamamı 80 numaralı bağlantı noktasına bindiremiyorum, bu nedenle yalnızca 8080 numaralı bağlantı noktasını bağlarım ve ardından aşağıdaki komutu kullanarak yönlendirme yönlendirmesini 80 numaralı bağlantı noktasından 8080'e ayarlarım:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080

Ancak, sunucuyu yeniden başlattığımda, bu komutu tekrar çağırıncaya kadar bu ayarların artık etkin olmadığını buldum.

Öyleyse sorum, sistem yeniden başlatılsa bile bağlantı noktasının yönlendirmesinin nasıl etkinleştirileceğidir?

Yanıtlar:


18

Bu komutu ekleyebilirsiniz /etc/rc.local, böylece yeniden başlattıktan sonra otomatik olarak çalıştırılır.


Bunu zaten yaptım, ama yine de cevap için teşekkürler
Ph0en1x

hoşgeldin arkadaşım, bu iyi bir hile
nux

2
Bu işe yarar, ancak asıl cevap aşağıda @ MeOMy'nin cevabıdır.
Dirk Groeneveld

15

Bunun yerine iptables-save komutunu kullanın. Güvenlik duvarı kuralları hiçbir zaman rc.local komut dosyasına girmemelidir. rc.local idam edilecek son şey. Bir blok kural rc.local'a yerleştirildiyse, saldırganın mevcut olmayan bir kuraldan yararlanabileceği küçük bir zaman dilimi vardır. Muhtemelen bu durumla bir önemi olmasa da, sizi daha sonra ısırabilecek kötü bir alışkanlığa kapılmamak en iyisidir.


1
"sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT - 8080" e ve "sudo iptables-save" 'a koştu. Ancak yönlendirme yeniden başlatıldığında sıfırlandı. Bunu nasıl yapacağımı yanlış mı anladım?
gromit190

2
Cevap eksik. iptables-save > some-file-pathkurallarını kaydeder ve sonra aracılığıyla onları geri cekti iptables-restore < some-file-pathiçinde rc.local. Veya iptables-persistentbunu hizmet sırasında önyükleme sırasında yapanları yükleyin .
Thomas Ward

Bunun nasıl yapıldığını anlamak istiyorum. Daha spesifik ol, lütfen
gromit190

4

Resmi ipttable'ın belgelerinin bize nasıl öğrettiği aşağıdadır. Buraya bak

Bu iki satırı / etc / network / interfaces içine ekleyin:
pre-up iptables-restore < /etc/iptables.rules post-down iptables-save > /etc/iptables.rules

"Post-down iptables-save> /etc/iptables.rules" satırı bir sonraki açılışta kullanılacak kuralları kaydeder.


Resmen önerilen yöntemi kullanmak için Kudos ve bu durumda, bu görevi tamamlamak için en basit yöntemi. KISS yöntemini kullanabilseydim +2 yapardım.
DeeJayh

0

/etc/networkAğ başlatma ve kapatma sırasında çeşitli zamanlarda komut dosyaları çalıştıracak olan Ubuntu 16.04'te bir dizi dizin keşfettim :

if-down.d
if-post-down.d  
if-pre-up.d  
if-up.d
interfaces.d

Böylece, yapılandırmayı her zamanki gibi bırakabileceğimi öğrendim:

$ sudo sh -c "iptables-save > /etc/iptables.rules"

Sonra bir dosya yarattım `/etc/network/if-pre-up.d/restore:

#!/bin/sh

iptables-restore < /etc/iptables.rules

... çalıştırılabilir olarak işaretlendi

$ sudo chmod 755 /etc/network/if-pre-up.d/restore
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.