LoginSignup
5
5

More than 3 years have passed since last update.

LinuxでNATルーター

Last updated at Posted at 2020-08-30

概要

LinuxでNATルーターを構成し、2つのVLANの一方のアドレスをNATし通信させる方法です。
内容は検証目的のため、セキュリティ等一切考慮しておりません。本番運用の際にはご注意ください。

想定シナリオ

以下の2つの組織が運用するVLANが存在するとします。

VLAN1: 192.168.1.0/24
VLAN2: 10.0.0.0/24

ここで VLAN1 の 192.168.1.100 から VLAN2 の 10.0.0.100 にアクセスしたいとします。
VLAN1 側組織は10.0.0.0/24のアドレスが他の用途に利用されているとし、VLAN1側では10.0.0.100のアドレスは192.168.2.100に見えるようにします。
一方VLAN2側では、192.168.1.100 をアドレス変換なくアクセスできるようにします。

設定手順

  1. CentOS 8 をインストールし、VLAN1とVLAN2に接続します。VLAN1をeth1とし、VLAN2をeth2とします。
  2. いろいろと面倒なので、SELinuxは無効化しておきます。/etc/selinux/configSELINUX=disabledにすればよいです。
  3. また、firewalldも無効化しておきます。systemctl disable firewalld
  4. ルーティング機能を有効化します。/etc/sysctl.confnet.ipv4.ip_forward=1を追加してください。
  5. 有効化するため、再起動します。
  6. iptablesでNAT設定を行います。
# iptables -t nat -A POSTROUTING -d 192.168.1.100 -j SNAT --to-source      192.168.2.100
# iptables -t nat -A PREROUTING  -d 192.168.2.100 -j DNAT --to-destination 10.0.0.100

1行目は、宛先が192.168.1.100のパケットを受信した場合に、ソースアドレスを192.168.2.100に変換。
2行目は、宛先が192.168.2.100のパケットを受信した場合に、宛先アドレスを10.0.0.100に変換。PREROUTINGを指定することで、宛先アドレスを変換した後にルーティングされるようにします。
この設定は再起動すると消えてしまうので、起動毎に実行してください。(永続化の方法がわかりませんでした)

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5