web-dev-qa-db-ja.com

LinuxサーバーをNATでルーターとして設定する方法

NAT)を持つ単純なルーターがありますが、このルーターはデバッグインターフェースを提供しないため、特定のパケットがNATかどうか。

したがって、対称型NATを備えたルーターになるようにLINUXコンピューターをセットアップしたいと考えています。このようにして、この「NAT」へのすべてのパケットをキャプチャし、必要な情報を取得できます。 Linux(Fedoraシステム、カーネル2.6.xx)でこれを行うにはどうすればよいですか?

7
Steve Peng

Linuxマシンをルーターとして設定するには、次のものが必要です。

1-ボックスで転送を有効にする

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

パブリックインターフェイスがeth1で、ローカルインターフェイスがeth0であると仮定します

2-次のコマンドを使用して、ナッティングルールをナッティングします。

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

3- eth0からのトラフィックを受け入れる:

iptables -A INPUT -i eth0 -j ACCEPT

4-パブリックインターフェイスからの確立された接続を許可します。

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

5-発信接続を許可:

iptables -A OUTPUT -j ACCEPT
15
MohyedeenN

これは単純なスクリプトで、UBUNTU 16.04で十分にテストされたルーターが必要とするすべての本質を備えたトリックを実行できます。

#!/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  @ [email protected]

  # 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
1
Mansur Ali