ゲートウェイ/ルーターおよびファイアウォールとしてのUbuntu 14.04


16

現在のシステムセットアップはUbuntu 14.04 Desktop 64 Bitで、パブリックIPを使用してルーターからインターネットを使用しています

eth0 - WAN Public IP 182.x.x.x  
eth1 - LAN private IP 192.168.0.1

今、私は私のようシステムを使用して他のコンピュータにこの接続を配布するGatewayIPは、私のシステムは192.168.0.1、ネットワーク上の他のコンピュータが静的IPを使用している192.168.0.2192.168.0.255 としてstatic、および/またはDHCP

また、ネットワーク上の他のシステムのトラフィックを監視および制御できるように、システムにファイアウォールをセットアップします。

回答:


15
  1. ターミナルを開くCtrl+ Alt+T

  2. 次のコマンドを入力して、interfacesファイルを編集します。

    sudo vim /etc/network/interfaces
    
  3. 次の行を使用してファイルを編集します:(netmaskおよびを追加gateway

    auto lo 
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
    address 182.x.x.x 
    netmask  x.x.x.x 
    gateway x.x.x.x
    
    auto eth1
    iface eth1 inet static 
    address 192.168.0.1
    netmask x.x.x.x
    
  4. 編集/etc/sysctl.confしてコメント解除します:

    # net.ipv4.ip_forward=1
    

    次のようになります:

    net.ipv4.ip_forward=1
    

    入力して保存します

    sudo sysctl -p /etc/sysctl.conf

  5. IPマスカレードを有効にするには、ターミナルで次の一連のコマンドを入力します。

    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    
    sudo iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    
    sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    

更新:コマンドが失敗する原因となる奇妙な「--state」を修正し、nat MASQUERADEをeth0(wanインターフェイス)に修正


アドバイス通りにすべてを行いました...しかし、/ etc / network / interfacesを編集してサービスを再起動すると、自動的にeth1に接続され、eth0を介してインターネットに接続しません。GUIモードを使用してconnectioを編集すると、eth0を使用してインターネットに接続します。問題は、IP 192.168.0.5/nm.255.255.255.0/gw.192.168.0.1を使用してインターネットにクライアントコンピューターを接続できないことです。なにか提案を?
サンティバルゲーゼ

3
行を変更した後、新しい値を有効にするためnet.ipv4.ip forward=1に実行sudo sysctl -p /etc/sysctl.confすることを追加します。
サミュエルリー

2
手順5の最後の2行でデバイスが交換されたままで、デフォルトのセキュリティについては何も言及されていません(つまり、転送にはDROPポリシーが必要です)。
chreekat 16

3

@chreekatのコメントは、イーサネットアダプターが@Anbuの答えのステップ5で交換され、示されているように(2017-02-21の時点で)パブリックネットワーク上の誰でもプライベートネットワークへの無制限のアクセスを許可する巨大なセキュリティホールを作成することは正しいです。

手順5の修正された構成を以下に示します。

動作理論:(ルール#2)パブリックネットワーク(eth0)からのパケットは、プライベートネットワーク(eth1)に転送するために受け入れられます。プライベートネットワーク。(ルール#3)プライベートネットワーク(eth1)からのすべてのパケットを受け入れ、パブリックネットワーク(eth0)に転送します。

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

0

これは私が使用するもので、常にうまく機能します。さまざまなチュートリアルの組み合わせ。Ubuntu 16.04LTSでもテスト済み。

ステップA-- ufwがインストールされていることを確認します

sudo apt-get install ufw

ステップB-ネットワークインターフェースを設定します

sudo nano /etc/network/interfaces

次のようにinterfacesファイルを構成します

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The WAN primary network interface
iface eth0 inet static
        address 182.xxx.xxx.xxx
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx

#LAN side interface
auto eth1
iface eth1 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        address 192.168.0.1

nanoまたは任意の他のエディターからCTRL-Xを選択して、ファイルを保存します。

ステップC-IP転送を許可します。転送を設定します。ファイル/etc/sysctl.confを編集します

sudo nano /etc/sysctl.conf

この行のコメントを削除し# net.ipv4.ip_forward=1、それがあるためにnet.ipv4.ip_forward=1 変更を保存し、次のステップに移動します。

ステップD-マスカレード/転送ルール

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

iptablesの変更を保持

sudo su
sudo iptables-save > /etc/iptables.rules
sudo nano /etc/network/if-pre-up.d/iptables

このコンテンツを入力してください:

#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0

変更を保存してから、次のiptablesファイルを編集/作成します

sudo nano /etc/network/if-post-down.d/iptables

このコンテンツを入力してください:

#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.rules ]; then
    iptables-restore < /etc/iptables.rules
fi
exit 0

変更内容を保存。両方のファイルを実行可能にする

sudo chmod +x /etc/network/if-post-down.d/iptables
sudo chmod +x /etc/network/if-pre-up.d/iptables

ステップE-ufw構成でファイナライズする

sudo nano /etc/default/ufw

受け入れるようにパラメーター転送ポリシーを変更する

DEFAULT_FORWARD_POLICY="ACCEPT"

変更内容を保存。

ポート49870にSSHがあるので、そのポートでufwが接続を受け入れることも許可しました。

sudo ufw allow 49870

ステップF-ufwを有効にすることを忘れないでください

sudo ufw enable

この段階で、システムを再起動するだけです。その後、すべてのLANデバイスがメインゲートウェイとして使用できます。ちなみにufwはファイアウォールの設定を管理するのに非常に便利です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.