Image

ナレッジベース → Linux Debian での NAT のセットアップ (ローカル ネットワーク上のインターネット)

[仮想サーバー]
公開日: 11.03.2024

サーバーをルーターとして使用するためには、NATを設定する必要があります。このガイドでは、サーバーには2つの物理ポートがあります。

  • enp3s0 - インターネット (192.168.1.12)
  • enp1s0 - ローカルネットワーク (100.100.100.1)

1. enp1s0 の設定

more /etc/network/interfaces
auto enp1s0
     iface enp1s0 inet static
     address 100.100.100.1
     netmask 255.255.255.0

2. NATの設定

apt install iptables
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE
iptables -A FORWARD -i enp1s0 -j ACCEPT

2.1 ローカルゲートウェイをDNSサーバーとして設定

この場合、DNSサーバー8.8.8.8へのフォワーディングを使用します。

iptables -t nat -A PREROUTING -p tcp --dport 53 -j DNAT --to 8.8.8.8:53
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to 8.8.8.8:53
iptables -t nat -A POSTROUTING -j MASQUERADE

2.2 モジュール設定の保存

nano /etc/modules
iptable_nat

2.3 トラフィック設定の保存

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

2.4 iptables設定の保存

apt install iptables-persistent
iptables-save > /etc/iptables/rules.v4

3. 動作確認

インターネットは一方のポートに、ローカルネットワークはもう一方のポートに接続されていますので、ローカルネットワークポートに接続されたすべてのデバイスがインターネットにアクセスできるはずです。時々、ゲートウェイ自体がDNSサーバーとして正しく設定されていない場合があり、その場合、外部IPアドレスへのpingによって正確な確認が行えます。

例えば:

ping 8.8.8.8

Exchange of packets from 8.8.8.8 to 32 bytes of data:
Response from 8.8.8.8: number of bytes=32 time=23ms TTL=59
Response from 8.8.8.8: number of bytes=32 time=23ms TTL=59

または

ping 1.1.1.1

Exchange of packets from 1.1.1.1 to 32 bytes of data:
Answer from 1.1.1.1: number of bytes=32 time=4ms TTL=57
Answer from 1.1.1.1: number of bytes=32 time=4ms TTL=57

ご覧のとおり、すべて正常に動作しています。これで、サーバーがルーターとして機能しています。





No Comments Yet