配置私有接口

连接到 ipaserver.onitroad.com 并配置网络接口。

检查网络设备的状态。

[root@ipaserver ~]# nmcli device status
DEVICE       TYPE      STATE         CONNECTION
eno16777728  ethernet  disconnected  -
eno33554968  ethernet  disconnected  -
lo           loopback  unmanaged     -
[root@ipaserver ~]#

使用路由器设置的必要设置配置专用接口。

[root@ipaserver ~]# nmcli connection add con-name prv0 ifname eno16777728 type ethernet autoconnect yes ip4 192.168.113.10/24 gw4 192.168.113.10
Connection 'prv0' (0f5bebd6-e737-48ba-a34e-0c272a365982) successfully added.
[root@ipaserver ~]# nmcli connection modify prv0 ipv4.method manual ipv4.dns 192.168.113.10 ipv6.method ignore
[root@ipaserver ~]# nmcli connection modify prv0 ipv4.never-default yes
[root@ipaserver ~]# nmcli connection modify prv0 connection.zone internal
[root@ipaserver ~]# nmcli connection down prv0 ; nmcli connection up prv0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)

设置环境

  • 操作系统 - CentOS 7
  • 主机名 - ipaserver.onitroad.com
  • 专用接口 - eno16777728
  • 公共接口 - eno33554968
将 Linux 机器设置为路由器

路由器是一种在计算机网络之间转发数据包的网络设备。
路由器在 Internet 上执行流量引导功能。
如果我们在 Linux 机器上有两个接口,并且每个接口连接到不同的网络,我们就可以将 Linux 机器转换为虚拟路由器。

连接到我们本地网络的接口称为私有接口。
而连接到外部世界的接口称为公共接口。

在这篇文章中,我们将设置一台 CentOS 7 机器作为虚拟路由器。

测试路由器配置

连接到我们专用网络中的客户端机器 client2.onitroad.com 并设置默认网关,如下所示。

[root@client2 ~]# nmcli c a con-name eno16777728 ifname eno16777728 autoconnect yes type ethernet ip4 192.168.113.11/24 gw4 192.168.113.10

使用 tracepath 命令检查现在使用的网络路径。

[root@client2 ~]# tracepath 8.8.8.8
 1:  192.168.113.11                                        0.075ms pmtu 1500
 1:  192.168.113.10                                        0.403ms
 1:  192.168.113.10                                        0.178ms
 2:  192.168.1.2                                         0.328ms
 3:  no reply
 4:  no reply

它表明我们的 Red Hat Enterprise Linux (RHEL) 7 机器已成功配置为虚拟路由器。

on  it road.com

配置公共接口

检查网络设备的状态。

[root@ipaserver ~]# nmcli device status
DEVICE       TYPE      STATE         CONNECTION
eno16777728  ethernet  connected     prv0
eno33554968  ethernet  disconnected  -
lo           loopback  unmanaged     -
[root@ipaserver ~]#

使用路由器设置的必要设置配置公共接口。

[root@ipaserver ~]# nmcli connection add con-name pub0 ifname eno33554968 type ethernet autoconnect yes ip4 192.168.1.50/24 gw4 192.168.1.2
Connection 'pub0' (0f4bebd6-e717-49ca-a33e-0c272a336982) successfully added.
[root@ipaserver ~]# nmcli connection modify pub0 ipv4.method manual ipv4.dns 192.168.1.2 ipv6.method ignore
[root@ipaserver ~]# nmcli connection modify pub0 connection.zone external
[root@ipaserver ~]# nmcli connection down pub0 ; nmcli connection up pub0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)

配置防火墙

将内部区域设置为防火墙的默认区域。

[root@ipaserver ~]# firewall-cmd --set-default-zone=internal
success

检查防火墙的状态。

[root@ipaserver ~]# firewall-cmd --list-all
internal (default, active)
  interfaces: eno16777728
  sources:
  services: dhcpv6-client ipp-client mdns samba-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:
[root@ipaserver ~]# firewall-cmd --list-all --zone=external
external (active)
  interfaces: eno33554968
  sources:
  services: ssh
  ports:
  masquerade: yes
  forward-ports:
  icmp-blocks:
  rich rules:

两个接口都在其相关区域中。

确保在内核设置中启用了 IP 转发。

[root@ipaserver ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 1
日期:2020-09-17 00:13:53 来源:oir作者:oir