80 numaralı portu aynı makinedeki başka bir porta nasıl yönlendiririm?


39

80 numaralı bağlantı noktasında gelen istekleri aynı linux makinesindeki başka bir bağlantı noktasına nasıl iletebilirim?

Bunu değiştirerek yapardım nat.conf, ama kullandığım bu makinede NAT yok. Alternatif nedir?


NAT yok ya da sadece nat.conf yok mu? NAT kullanarak iptables kuralları denediniz mi?
Ben Swinburne

Yanıtlar:


47

Yeniden yönlendirmeyi iptables ile gerçekleştirebilirsiniz:

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT

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

+1. Bunu yıllarca yapmak
Alexander Pogrebnyak

1
Peki ya Windows Server'da?
Luc

Oh dostum bu tam olarak aradığım şeydi, kanka!
neurosnap

İlk başta benim için işe yaramadı, ama kullandığımda iyiydisudo
mdiscenza

1
eth0 arayüzü yoksa ne yapmalı? neden geridöngü arayüzü kullanmıyorsunuz?
harschware

15

Sadece kendimi bu soruda buldum kolay bir yol bulamadım. Bu basit port yönlendirme işlemini yapmak için makineme Nginx yüklemek istemiyorum.

Rinetdbenim için çalışmadı, dağıtımım için çalışma paketi yoktu. Bunun socatyerine gittim . Süper basit:

socat TCP-LISTEN:80,fork TCP:127.0.0.1:5000

suLimanda dinleyebilmek için koşturulmalı 80.


Rinetd kurulumu daha kolay sanırım.
johnshen64

socat mükemmel çalışıyor!
viv

10

Nginx gibi ters bir proxy kullanmaya bakmalısınız . Örneğin, dosyanıza böyle bir şey koyabilirsiniz :nginx.conf

server {
    listen         80;

    server_name    your_ip_address your_server_name

    access_log   /var/log/nginx/your_domain/access.log ;
    error_log    /var/log/nginx/your_domain/error.log info ;

    location / {
        proxy_pass  http://127.0.0.1:3000;   # pass requests to the destination
    }
}

2
Neden? Gereksiz yere katılmıyorum ama bunun ağ oluşturma yığınında ™ olmasını istememenin iyi bir nedeni var mı?
Oli

@Oli Bu ters proxy yöntemi, iptables sanal sanal sunucuyu hiçbir şey bilmediğinden iptables bunu yaparsa ortaya çıkacak olan sunucudaki diğer birçok sanal ana bilgisayarı etkilemez.
kül,
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.