家庭互联网网关。在Ubuntu Server 20.04 LTS上初始设置6端口小型计算机


在Internet上,有无数关于在Ubuntu上设置服务器的信息,但是在每一步中,您都会发现对于初学者而言不明显的时刻。我想分享我的经验,并可能解决某人的问题。本文将告诉您如何配置多端口服务器(6个端口):Netplan,DHCP服务器,UFW(非复杂防火墙)。现在,首先是第一件事。

介绍


我将Internet更新为500 Mbit / s,现在是时候解决100 Mbit服务器了,该服务器在奔腾3上运行并且已经处于边缘。选择权落在了中国野兽身上所需的一切都可用,正常模式下的功耗不超过15W,其他任务的性能裕量。

为了获得平静的主动冷却效果:


我不会画OS的安装内容(“确定-下一步-下一步”),我只注意到在安装过程中需要配置至少一个网络接口来访问Internet。

为了方便起见,我使用Midnight Commander及其文本编辑器。我们将以root用户的身份工作:

sudo su

安装MC:

apt-get install mc

因此,我们已经安装了Ubuntu Server,让我们从配置其余的网络接口开始。

网络计划


在最新版本的Ubuntu中,出现了Netplan实用程序,该实用程序可让您以统一格式配置网络并选择要使用的网络管理器。默认情况下,使用Systemd-networkd,但是我选择了NetworkManager,因为我安装了Cockpit Web界面,该界面使用NM来显示部分信息。
Netplan配置语法非常严格,多余的空格或制表符可能会导致错误。habr.com/en/post/448400

已描述了有关该功能的更多详细信息,以及netplan.io/examples站点上的各种示例 让我们看一下接口的名称:



ip a

转到/ etc / netplan目录,然后打开(F4对于MS)50-cloud-init.yaml文件。对于将用于连接到Internet的网络接口,我们确定通过dhcp(dhcp4:true接收设置。在我的情况下是enp6s0。对于其他情况,请指定false并添加可选参数:true参数,因为接口可能未连接任何东西。

我使用网桥将接口连接到本地网络,但是使用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-server中,编辑以下行:

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(不复杂的防火墙)-用于简化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作为本地网络的DNS服务器的配置。

更详细的信息:


All Articles