インターネット上には、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]
-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サーバーの構成の問題は取り上げませんでした。より詳細な情報: