ホームインターネットゲートウェイ。Ubuntu Server 20.04 LTSでの6ポートミニコンピューターの初期セットアップ


インターネット上には、Ubuntuでサーバーをセットアップするための情報が無数にありますが、すべてのステップで、初心者には明らかではない瞬間を見つけることができます。私は自分の経験を共有し、おそらく誰かの問題を解決したいと思っています。この記事では、マルチポートサーバー(6ポート)を構成する方法について説明します。Netplan、DHCPサーバー、UFW(複雑でないファイアウォール)。そして今、まず最初に。

前書き


私はインターネットを500 Mbit / sに更新し、Pentium 3で動作し、すでに危機に瀕していた100 Mbitサーバーに取り組む時が来ました。選択は中国の獣にかかった必要なものはすべて利用可能であり、通常モードでの消費は15Wを超えないため、追加のタスクにはパフォーマンスのマージンがあります。

穏やかな追加アクティブ冷却の場合:


OSインストール(「OK-次-次」)は描画しません。インストール中に、インターネットにアクセスするために少なくとも1つのネットワークインターフェイスを設定する必要があることに注意します。

便宜上、Midnight Commanderとそのテキストエディターを使用します。rootユーザーから作業します。

sudo su

MCをインストールします。

apt-get install mc

それでは、Ubuntu Serverをインストールしました。残りのネットワークインターフェイスを構成するところから始めましょう。

ネットプラン


Ubuntuの最近のバージョンでは、ネットワークを統一された形式で構成し、使用するネットワークマネージャーを選択できるNetplanユーティリティが登場しました。デフォルトではSystemd-networkdが使用されますが、NMを使用して情報の一部を表示するCockpit Webインターフェースをインストールしたため、NetworkManagerを選択しました。
Netplan構成構文は非常に厳密であり、余分なスペースまたはタブがエラーを引き起こす可能性があります。

機能の詳細については、habr.com / en / post / 448400既に説明されています。また、さまざまな例がサイトnetplan.io/examplesにあります。

インターフェースの名前を見てみましょう:

ip a

/ etc / netplanディレクトリに 移動し、50-cloud-init.yamlファイルを開きます(MSの場合はF4)。インターネットへの接続に使用されるネットワークインターフェイスについては、dhcpによる設定の受信を決定します(dhcp4:true)。私の場合はenp6s0です。残りについては、指定虚偽および追加真:オプションのパラメータがあるため、インターフェイスは何にも接続されていない可能性があります。

インターフェイスをローカルネットワークに接続するためにブリッジを使用しましたが、vlanを使用する方がおそらく正しいでしょう。lan-brブリッジを作成し、共通のIPアドレスとDNSサーバーを設定して、組み合わせるインターフェースを指定しましょう

  bridges:
    lan-br:
      dhcp4: false
      addresses: [ 192.168.13.1/24 ]
      nameservers: 
        addresses: [ 192.168.13.1 ]
      interfaces: [ enp1s0, enp2s0, enp3s0, enp4s0, enp5s0 ]

私は自分のDNSサーバーを用意するのでnameserversフィールドにサーバーのアドレスを指定します。たとえば、8.8.8.8(Google)を指定できます。バージョンと管理者を表示します。結果は次のようになります。

network:
  ethernets:
    enp1s0:
      dhcp4: false
      optional: true
    enp2s0:
      dhcp4: false
      optional: true
    enp3s0:
      dhcp4: false
      optional: true
    enp4s0:
      dhcp4: false
      optional: true
    enp5s0:
      dhcp4: false
      optional: true
    enp6s0:
      dhcp4: true
      nameservers:
        addresses:
        - 127.0.0.1
        - 192.168.13.1
  bridges:
    lan-br:
      dhcp4: false
      addresses: [ 192.168.13.1/24 ]
      nameservers: 
        addresses: [ 192.168.13.1 ]
      interfaces: [ enp1s0, enp2s0, enp3s0, enp4s0, enp5s0 ]
  version: 2
  renderer: NetworkManager

ファイルを保存し、構成を確認/適用します。

netplan try

すべてが正しく行われると、「ip a」は次のようになります。
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master lan-br state UP group default qlen 1000
    link/ether 0c:e8:2c:68:5b:57 brd ff:ff:ff:ff:ff:ff
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master lan-br state UP group default qlen 1000
    link/ether 0c:e8:2c:68:5b:58 brd ff:ff:ff:ff:ff:ff
4: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master lan-br state UP group default qlen 1000
    link/ether 0c:e8:2c:68:5b:59 brd ff:ff:ff:ff:ff:ff
5: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 0c:e8:2c:68:5b:5a brd ff:ff:ff:ff:ff:ff
6: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 0c:e8:2c:68:5b:5b brd ff:ff:ff:ff:ff:ff
7: enp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 0c:e8:2c:68:5b:5c brd ff:ff:ff:ff:ff:ff
    inet 188.32.236.197/19 brd 188.32.255.255 scope global dynamic noprefixroute enp6s0
       valid_lft 2898sec preferred_lft 2898sec
    inet6 fe80::ee8:2cff:fe68:5b5c/64 scope link 
       valid_lft forever preferred_lft forever
8: lan-br: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 0c:e8:2c:68:5b:57 brd ff:ff:ff:ff:ff:ff
    inet 192.168.13.1/24 brd 192.168.13.255 scope global noprefixroute lan-br
       valid_lft forever preferred_lft forever
    inet6 fe80::ee8:2cff:fe68:5b58/64 scope link 
       valid_lft forever preferred_lft forever


DHCPサーバー


DHCPサーバーを構成して、クライアントがIPアドレスを自動的に受信できるようにします。

apt-get install isc-dhcp-server

ファイルには、/ etc / default / ISC-DHCPサーバ、編集ライン:

INTERFACESv4="lan-br"

/ etc / dhcpに 移動しdhcpd.conf開いて設定を指定します。

option domain-name "your-domain-name";
option domain-name-servers 192.168.13.1;

subnet 192.168.13.0 netmask 255.255.255.0 {
    range 192.168.13.100 192.168.13.250;
    option subnet-mask 255.255.255.0;
    option routers 192.168.13.1;
    option broadcast-address 192.168.13.255;
}

DHCPサーバーを再起動します。

service isc-dhcp-server restart

これで顧客は住所を自動的に受け取るはずです。

Ufw


UFW(複雑でないファイアウォール)-iptablesのセットアップを簡単にするためのツール。ファイアウォールと、インターフェース間のパケット転送をセットアップします。/ etc / ufwに移動し、sysctl.confファイルの行のコメントを解除します。

net/ipv4/ip_forward=1

ssh経由で接続している場合は、開始する前にポート22を開きます。

ufw allow ssh

UFWをオンにして、ステータスを確認します。

ufw enable
ufw status verbose

デフォルトのポリシーを設定します。

ufw default deny incoming
ufw default allow outgoing
ufw default allow routed

ローカルネットワークからのアクセスを許可します。

ufw allow in on lan-br to any

NATを構成します。before.rulesファイル開き、*フィルターブロックの前に次のように記述します

*nat
:POSTROUTING ACCEPT [0:0]
#local
-A POSTROUTING -s 192.168.13.0/24 -o enp6s0 -j MASQUERADE
COMMIT

ufwを保存して再起動します。

ufw disable
ufw enable

iptablesを確認してみましょう。次の行が表示されます。

iptables -t nat -L -v

これに関して、基本的なサーバー構成は完全であると考えることができます。

結論


ローカルネットワークのDNSサーバーとしてのDnscrypt-proxyの構成について説明する2番目の部分をリリースする予定なので、DNSサーバーの構成の問題は取り上げませんでした。

より詳細な情報:


All Articles