ネットワーク設定 · 2 min read · Oct 28, 2025
NATゲートウェイ、Iptables、ポートフォワーディング、DNSおよびDHCP設定 - Ubuntu 8.10サーバー
NATゲートウェイ、Iptables、ポートフォワーディング、DNSおよびDHCP設定 - Ubuntu 8.10サーバー
あなたはもう一つの高価なルーターを購入する余裕がなく、自分でやりたいと思っています。あなたは正しいチュートリアルを見つけました!このチュートリアルでは、NAT、ポートフォワーディング、DNSサーバー、DHCPサーバーを備えたUbuntu 8.10ルーターの設定方法を示します。
なぜUbuntuなのか?
Ubuntuは素晴らしいオペレーティングシステムであるだけでなく、非常に柔軟で強力であり、すぐに立ち上げることができます!注意:各ステップの後にコンピュータを再起動してください。これにより、すべてが正しく動作していることが確認できます。
必要な基本的なものは以下の通りです…
DHCP – dhcp3-server
DNS – bind9
iptables – ubuntuに含まれています
まず最初に
2つのネットワークカードが必要です。最初のネットワークカードを取り、WAN接続をそこに接続します。このネットワークカードが何であるか(eth0、eth1など)を知っているはずです。わからない場合は、試行錯誤してください。
WANカードがeth0であると仮定しましょう(もしeth1の場合は、すべて同じように行い、設定を調整してください)。ファイル/etc/network/interfacesを見つけます。次のようにVIでファイルを開きます。
sudo vi /etc/network/interfacesファイルには(まだ何も設定していない場合)次のように表示されます:
# このファイルは、システム上で利用可能なネットワークインターフェースとそれをアクティブにする方法を説明しています。
# 詳細については、interfaces(5)を参照してください。
# ループバックネットワークインターフェース
auto lo
iface lo inet loopbackこれをファイルに追加します。ちなみに、VIの使い方がわからない場合は、nanoを使用するか、VIを学んでください。
auto eth0
iface eth0 inet dhcpauto eth0コードは、eth0がブート時に開始することを指示します。これは、次のように実行するのと似ています。
sudo ifconfig eth0 upコードiface eth0 inet dhcpは、eth0インターフェースがDHCPサーバーを探し、そこから情報を取得することを指示します。これは、ケーブルモデムに接続している場合に重要です。ISPからパブリックIPを取得する必要があります。
次のステップは、ネットワークカードeth1を設定することです。これが「LAN」カードになります。
覚えているかもしれませんが、/etc/network/interfacesの設定は次のようになっていました。
# このファイルは、システム上で利用可能なネットワークインターフェースとそれをアクティブにする方法を説明しています。
# 詳細については、interfaces(5)を参照してください。
# ループバックネットワークインターフェース
auto lo
iface lo inet loopback
# プライマリネットワークインターフェース
auto eth0
iface eth0 inet dhcp再度、interfacesファイルをVIで開き、いくつかの行を追加します。
sudo vi /etc/network/interfacesファイルの下部にこれらの行を追加します。
auto eth1
iface eth1 inet static
address 172.17.207.121
netmask 255.255.255.0
broadcast 172.17.207.255
network 172.17.207.0これにより、LANカードのサーバーに静的IPアドレスが割り当てられます。
ファイルは次のようになります。
# このファイルは、システム上で利用可能なネットワークインターフェースとそれをアクティブにする方法を説明しています。
# 詳細については、interfaces(5)を参照してください。
# ループバックネットワークインターフェース
auto lo
iface lo inet loopback
# プライマリネットワークインターフェース
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 172.17.207.121
netmask 255.255.255.0
broadcast 172.17.207.255
network 172.17.207.0さて、忘れないうちに、/etc/hostsファイルを編集しましょう。
sudo vi /etc/hostsファイルを私のように見せてください。ただし、サーバーをuserveまたはmyserverと呼ぶ場合は変更できます。
また、asus.localというドメイン名に注意してください。自分のmydomain.localのようなものを使用するのが良いアイデアですが、学習目的で私のものを使用しても構いません。
.localを使用するのは覚えやすく、公開されていないため、何かに干渉することはありません。
127.0.0.1 localhost server.localhost
172.17.207.121 server.asus.local server asus.localインターフェースの設定が完了したので、DHCPサーバーをインストールして設定します。DHCPサーバーをインストールするには、次のコマンドを実行します。
sudo apt-get install dhcp3-server次に、dhcpd.confファイルを編集します。次のコマンドを実行して開始します。
sudo vi /etc/dhcp3/dhcpd.confそのファイルに何かがある場合は、削除してください。
これをファイルにコピーして貼り付け、書き込みと終了を行います。
ddns-update-style none;
option domain-name "whatever.local"; //これをmydomain.localのような自分の好きなものに変更してください
option domain-name-servers 172.17.207.121, 24.92.226.41; //2つ目のDNSサーバーをISPのローカルDNSサーバーに変更することをお勧めします
option routers 172.17.207.121;
default-lease-time 42300;
max-lease-time 84600;
authoritative;
log-facility local7;
subnet 172.17.0.0 netmask 255.255.255.0 {
range 172.17.207.1 172.17.207.100; //範囲を.100から.254などに変更することで拡張できます
}次のコマンドを実行します。
sudo /etc/init.d/dhcp3-server startこれにより、DHCPサーバーが起動し、この部分は完了とラベル付けできます。
次は… DNS
Bindは私たちが使用するDNSパッケージです。これをインストールするには、次のように実行します。
sudo apt-get install bind9これにより、bindサーバーがダウンロードされ、インストールされます。
次のコマンドを実行して開始します。
vi /etc/bind/named.conf次に、ファイル内のすべてを削除し、私のコメントを探します。通常、//で示されます。
// これはBIND DNSサーバーnamedの主要な設定ファイルです。 // この設定ファイルをカスタマイズする前に、/usr/share/doc/bind9/README.Debian.gzを読んでください。 // ゾーンを追加するだけの場合は、/etc/bind/named.conf.localでそれを行ってください。 include "/etc/bind/named.conf.options"; // ルートサーバーの知識でサーバーをプライムします zone "." { type hint; file "/etc/bind/db.root"; }; // localhostのフォワードおよびリバースゾーン、およびRFC 1912に従ったブロードキャストゾーンに対して権威を持ちます zone "asus.local" { //asus.localをmydomain.localのように変更してください type master; file "/etc/bind/zones/asus.local.db"; //このファイルまたはフォルダーは存在しないので、作成する必要があります }; zone "207.17.172.in-addr.arpa" { type master; file "/etc/bind/zones/rev.207.17.172.in-addr.arpa";//このファイルは存在しないので、作成する必要があります }; zone "localhost" { type master; file "/etc/bind/db.local"; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; }; include "/etc/bind/named.conf.local";
asus.local.dbとrev.207.17.172.in-addr.arpaの2つのファイルを作成する前に、別のファイルを編集する必要があります。次に、
sudo vi /etc/bind/named.conf.optionsファイル内のすべてを削除し、次のようにします。
options {
directory "/var/cache/bind";
// 名前サーバーとの間にファイアウォールがある場合は、
// 複数のポートが通信できるようにファイアウォールを修正する必要があります。
// ISPが安定した名前サーバー用に1つ以上のIPアドレスを提供した場合、
// それらをフォワーダーとして使用することをお勧めします。
// 次のブロックのコメントを解除し、
// すべての0のプレースホルダーを置き換えるアドレスを挿入します。
forwarders {
24.92.226.41; //非常に重要、これをローカルISPのDNSサーバーに変更してください
24.92.224.40;
};
auth-nxdomain no; # RFC1035に準拠
listen-on-v6 { any; };
};コメントに注意してください。これにより、ローカルISPのDNSにフォワーダーアドレスを変更するように指示しています。
次に、bindディレクトリに移動します:
cd /etc/bind/
sudo mkdir zones
cd zones
sudo vi asus.local.db
(または、mydomain.local.dbなど、ドメイン名を使用します。)
asus.local.dbファイルまたはmydomain.local.dbファイル(呼び名に応じて)に入ったら、これをコピーして貼り付け、ドメイン名に適切な変更を加えます。
$ORIGIN .
$TTL 4000 ;
asus.local. IN SOA server.asus.local. admin.asus.local. (
2007031001 ; シリアル
28800 ; リフレッシュ
3600 ; 再試行
604800 ; 有効期限
38400 ; 最小
)
NS server.asus.local.
$ORIGIN asus.local.
IN A 172.17.207.121
www IN A 172.17.207.121 //例
server IN A 172.17.207.121 //例
macpro IN A 172.17.207.4 //例macproのnslookupを実行すると、172.17.207.4が返されるので、ドメイン名とIPを設定に応じて変更してください。
次に、まだ存在しないrev.207.17.172.in-addr.arpaファイルをviで開きます。しかし、保存すると作成されます。したがって、まだzonesフォルダーにいると仮定します。
vi rev.207.17.172.in-addr.arpaここにある内容をコピーして貼り付け、適切な変更を加えます。
$ORIGIN .
$TTL 28800 ; 8時間
207.17.172.IN-ADDR.ARPA IN SOA server.asus.local. admin.asus.local. (
2008110601 ; シリアル
28800 ; リフレッシュ (8時間)
7200 ; 再試行 (2時間)
604800 ; 有効期限 (1週間)
86400 ; 最小 (1日)
)
NS server.asus.local.
$ORIGIN 207.17.172.IN-ADDR.ARPA.
4 PTR macpro.asus.local.これで、172.17.207.4の逆引きを実行すると、macpro.asus.localが得られます。
次のコマンドを実行してnamedを起動します。
sudo /etc/init.d/named start起動しない場合は、/var/logsのログを確認してください。
最後に、IPTABLES
まず最初に、/etc/のフォルダー内のsysctl.confを編集する必要があります。次のようにします。
sudo vi /etc/sysctl.conf28行目のコメントを解除します。つまり、その前の#を削除します。行はnet.ipv4.ip_forward=1である必要があります。
次に、rc.localに移動します。
sudo vi /etc/rc.localファイルの下部に次の2行を追加します。
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADEこれにより、iptablesを使用してゲートウェイが設定されます。この基本的な設定よりも安全にするためにiptablesを使用できます。
ポートを転送するには、rc.localファイルの最後に次のようなものを追加できます。
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 -d jgibbs.dyndns.org --dport 3389 -j DNAT --to 172.17.207.4:3389上記の長い行は、ポート3389のすべての受信トラフィックをIP 172.17.207.4に転送するため、ネットワーク外からWindowsボックスにリモートデスクトップ接続できます。
これは、任意のポートに対して行うことができます。
再起動!
また、問題があれば報告してください。このチュートリアルを更新して修正します。ありがとう、Jeremy user gibbsj。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。