Bir adaptörde gelen bağlantıyı başka bir adaptöre iletmek mi istiyorsunuz?


0

Bir sunucuda iki adaptör var.

Bu örnek uğruna, onlara ad1 ve ad2 diyelim.

 ad1, ip = xxx.xxx.x.x (internet connection)
 ad2, ip = 192.168.1.1 (this system is the gameway for 192.168.1.5)

Gelen bağlantıları yönlendirmem gerekiyor ad1 limanda 1234 ad2'deki bir ip 192.168.1.5 limanda 1238.

Bunu hem UDP hem de TCP için nasıl yapacağımı bilmem gerekiyor, ancak ayrı komutlarda bazı zamanlar UDP'yi yönlendirmem gerekecek, bazen de TCP'yi iletmem gerekecek.

IPtables kullanarak oldukça yeni, bu yüzden sadece biraz yardım arıyorum.

Yanıtlar:


0

Sayesinde amauk reddit bu cevap için. Bu soruyu birisinin karşılaması ihtimaline karşı, ben de buraya göndereceğimi düşündüm.

Öncelikle, IP iletmeyi etkinleştirmeniz gerekir.
Güvenlik nedeniyle bu, varsayılan olarak devre dışıdır.

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

Ardından, değişiklikleri yapmak ve sysctl yapılandırmasını yeniden yüklemek için aşağıdakileri çalıştırın

sysctl -p

Ardından, bağlantıları iletmek için IPTables kurallarını yazmanız gerekir.

TCP

iptables -t nat -A PREROUTING -i ad1 -p tcp -m tcp --dport 1234 -j DNAT --to-destination 192.168.1.5:1238

UDP

iptables -t nat -A PREROUTING -i ad1 -p udp --dport 1234 -j DNAT --to-destination 192.168.1.5:1238

Arayüz ad1'den gelen paketler -i ad1 ölçütlerle eşleşen (TCP / UDP + port numarası), NAT - hedefe: port

Ayrıca IPTables kurallarını bir şekilde kaydetmeniz ve bunları önyükleme sırasında geri yüklemeniz gerekir.
Aynen bunu nasıl yaptığınız kesin bir şey değil.

Düzenle
Kuralları silmek için -D (sil) yerine -A (Ekleme)

Örneğin.
TCP iletme kuralını silmek için

iptables -t nat -D PREROUTING -i ad1 -p tcp -m tcp --dport 1234 -j DNAT --to-destination 192.168.1.5:1238
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.