Soru NAT ile bir yönlendirici olarak Linux sunucusu nasıl kurulur


NAT'ın simetrik tipine sahip basit bir yönlendiricimiz var, ancak bu yönlendirici bize herhangi bir hata ayıklama arabirimi sağlamadığından, belirli bir paketin NAT'a ulaşıp ulaşmadığını anlayamıyoruz.

Bu nedenle, bir simetrik NAT ile yönlendirici olmasını sağlayan bir LINUX bilgisayarı kurmak istiyoruz, bu şekilde tüm paketleri bu "NAT" e taşıyabilir ve istediğimiz bilgiyi alabiliriz. Bunu linux'ta nasıl yapabiliriz (Fedora sistemi, çekirdek 2.6.xx)?


6
2018-01-03 15:05


Menşei


simetrik nat ile ne demek istiyorsun - MohyedeenN
en.wikipedia.org/wiki/... - sciurus


Cevaplar:


Bir yönlendirici olarak bir linux makinesi ayarlamak için aşağıdakilere ihtiyacınız var

1- Kutudaki iletmeyi etkinleştir

echo 1 > /proc/sys/net/ipv4/ip_forward

Genel arayüzün eth1 olduğunu ve yerel arayüzün eth0 olduğunu varsayarsak

2- Natting kuralının doğasını şöyle ayarlayın:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

3- Eth0'dan gelen trafiği kabul et:

iptables -A INPUT -i eth0 -j ACCEPT

4- Kamu arayüzünden kurulan bağlantılara izin verin.

iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

5- Giden bağlantılara izin ver:

iptables -A OUTPUT -j ACCEPT

15
2018-01-03 15:12



GİRİŞ ve ÇIKIŞ zincirleri, yalnızca yönlendiriciye yönlendirilen paketleri ve yönlendirici tarafından gerçekte oluşturulan paketleri etkiler. İhtiyacın olan şey, içinden geçen paketleri ele alan FORWARD zincirindeki kurallardır. - pepoluan
evet doğru, ancak paketler halka açık bir arayüz üzerinden gönderilir ve burada yanlış olmazsam OUTPUT zinciri üzerinden gönderilirler, tüm ips'ler herkese açıksa ve siz doğaçlama yapmıyorsanız o zaman sadece ileri zincir gereklidir , paketler kamu arabirimi ip üzerinden gönderildiği gibi INPUT için aynıdır, önceden kurulmuş oturumların INPUT zincirinden geri gelmesine izin vermeniz gerekecektir. - MohyedeenN
Um, ben öyle düşünmüyorum. İnternette bulduğum tüm Netfilter diyagramları, OUTPUT zincirlerinin yalnızca Yerel Süreçler tarafından oluşturulan paketler için geçerli olduğunu gösterir. Örneğin: upload.wikimedia.org/wikipedia/commons/8/8f/... - pepoluan
@MohyedeenN Size yeterince teşekkür edemem, keşke bu 100x'i + 1'leyebilseydim. Bütün gün saçlarımı çıkardıktan sonra, ihtiyacım olan şey buydu. Teşekkür ederim!! - Arthur Maltson
Ayrıca özel ağ üzerindeki makineye ekleyin: rota ekle varsayılan gw 192.168.0.1 # NAT'un IP adresi ne olursa olsun Ayrıca nameservers bulmak için resolv.conf dosyasını güncellemek gerekebilir - Xofo


Bu basit betik UBUNTU 16.04 üzerinde iyi test edilmiş yönlendirici tarafından ihtiyaç duyulan tüm özü olan hile yapabilir

#!/bin/bash
# This script is written to make your Linux machine Router
# With this you can setup your linux machine as gateway.
# Author @ Mansur Ul Hasan
# Email  @ mansurali901@gmail.com

  # Defining interfaces for gateway.
  INTERNET=eth1
  LOCAL=eth0

# IMPORTANT: Activate IP-forwarding in the kernel!

   # Disabled by default!
   echo "1" > /proc/sys/net/ipv4/ip_forward

   # Load various modules. Usually they are already loaded 
   # (especially for newer kernels), in that case 
   # the following commands are not needed.

   # Load iptables module:
   modprobe ip_tables

   # activate connection tracking
   # (connection's status are taken into account)
   modprobe ip_conntrack

   # Special features for IRC:
   modprobe ip_conntrack_irc

   # Special features for FTP:
   modprobe ip_conntrack_ftp

   # Deleting all the rules in INPUT, OUTPUT and FILTER   
   iptables --flush

   # Flush all the rules in nat table 
   iptables --table nat --flush

   # Delete all existing chains
   iptables --delete-chain

   # Delete all chains that are not in default filter and nat table
   iptables --table nat --delete-chain

   # Allow established connections from the public interface.
   iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT

   # Set up IP FORWARDing and Masquerading
   iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE
   iptables --append FORWARD --in-interface $LOCAL -j ACCEPT

   # Allow outgoing connections
   iptables -A OUTPUT -j ACCEPT

0
2018-04-10 15:20