Help us understand the problem. What is going on with this article?

Ubuntu 14.04のルーター化

More than 3 years have passed since last update.

Network Routingの覚え書き

やりたいこと

nicが2つあるPCにUbuntuを入れてルータにしたい。

  • nic
    • eth0: 外に繋がっているインターフェース
    • eth1: 新規で切るセグメント

検証環境

  • Ubuntu Server 14.04

ネットワーク/インターフェースの定義

eth0, eth1 のインターフェースの設定を行う。
各ネットワークを定義。(file: /etc/network/interfaces)

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 192.168.1.1
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255
  gateway 192.168.1.100
  dns-nameserver 8.8.8.8

auto eth1
iface eth1 inet static
  address 192.168.2.100
  netmask 255.255.255.0
  network 192.168.2.0
  broadcast 192.168.2.255
  gateway 192.168.2.100
  dns-nameserver 8.8.8.8

IPフォーワードの有効化

デフォルトではIPフォワードは無効になっているので
有効化する必要あり。(file: /etc/sysctl.conf)

/etc/sysctl.conf
...(略)...
# コメントアウトする
net.ipv4.ip_forward=1
...(略)...

IPマスカレードの設定

このままでは、戻りの経路情報が不明であるために、192.168.2.0 内から外に向けたpingが失敗する。
そこでIPマスカレードを設定する.

$ sudo /sbin/iptables -t nat -A POSTROUTING -s 192.168.2.0/255.255.255.0 -j MASQUERADE

iptables 起動スクリプト作成

さきほどの設定を保存
$ sudo /sbin/iptables-save -c > /etc/iptables.rules

設定を読み込んで起動するスクリプトを作成。
(file: /etc/network/if-pre-up.d/iptables_start)

/etc/network/if-pre-up.d/iptables_start
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.rules
exit 0

実行権限を付与
$ sudo chmod +x iptables_start

これで再起動すれば、最小ルーティング設定は完了。

※ 192.168.2.0 以下にさらにセグメントを掘り、192.168.1.0 からアクセスを通したい際はUbuntu Severのルーティングテーブルを更新する必要がある。

参考

その他便利だったツール

koshilife
スタートアップでサーバサイドエンジニアをやっています。 興味の赴くままにクラウド(GCP,AWS)、フロントエンドも齧っていきます。
waaq
日程調整自動化ツール waaq PORTを運営しています。「仕事に自由を。」をミッションに掲げたスタートアップです。
https://waaq.jp/company
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした