NAT)を持つ単純なルーターがありますが、このルーターはデバッグインターフェースを提供しないため、特定のパケットがNATかどうか。
したがって、対称型NATを備えたルーターになるようにLINUXコンピューターをセットアップしたいと考えています。このようにして、この「NAT」へのすべてのパケットをキャプチャし、必要な情報を取得できます。 Linux(Fedoraシステム、カーネル2.6.xx)でこれを行うにはどうすればよいですか?
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
これは単純なスクリプトで、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