在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]
-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服务器的配置。更详细的信息: