将 Linux 设为具有路由器功能

实验环境

在 VMware 中操作,Linux 路由器为CentOS,局域网内主机 Debian。

  • 修改VMware设置,编辑 -> 虚拟网络编辑器,修改 VMnet8,将子网IP修改为 192.168.1.0,默认网关为 192.168.254
  • 添加网络 VMnet2(这个东东是一个虚拟的交换机),仅勾选 “仅主机模式(在转用网络内连接虚拟机)”,设置其子网IP为192.168.100.0
  • CentOS中添加两块网卡,一块为NAT模式,一块为自定义中的VMnet2
  • Debian中添加一块网卡,为自定义的VMnet2

注意:在VM中添加的网卡名一般为 ens33,我将CentOS中的网卡名字改了,Debian中未改,若想修改可百度~

打开封包传递功能(IP forward)(在CentOS主机下操作)

  1. 查看是否打开了封包传递功能 cat /proc/sys/net/ipv4/ip_forward 1为启动,0为未启动(默认是启动的)
  2. 开启该功能 vim /etc/sysctl.conf 加入或修改 net.ipv4.ip_forward = 1
  3. 使其立即生效 sysctl -p

Linux 网卡设置(在CentOS主机下操作)

这时,Linux 主机必须至少有两个网卡,一个网卡对外连接,一个网卡连接内部局域网(LAN)。分别设置为:

# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=网卡MAC地址
NM_CONTROLLED=no # 不接受图形界面设定
ONBOOT=yes
BOOTPROTO=none # thcp or static or none 
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.254 # 网关
DNS=8.8.8.8
# /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
HWADDR=网卡MAC地址
NM_CONTROLLED=no # 不接受图形界面设定
ONBOOT=yes
BOOTPROTO=none # thcp or static or none 
IPADDR=192.168.100.254
NETMASK=255.255.255.0
# GATEWAY=192.168.100.254 网关不用设置,因为自己是 192.168.100.0/24 这个局域网的网关

还需要关闭防火墙 systemctl stop firewalld.servce

局域网内主机设定(在Debian主机下操作)

Debian9中默认没有ifconfig 命令,查看网卡信息可以使用 ip addr 命令。执行以下操作:

  1. vim /etc/network/interface 修改ens33 部分为:
allow-hotplug ens33
iface ens33 inet static
address 192.168.100.10
netmask 255.255.255.0
gateway 192.168.100.254
dns 8.8.8.8
  1. 启动网络服务 systemctl restart networking.service (与 CentOS略有不同)
  2. 查看网卡是否开启 ip addr, 若未开启,使用 ifup ens33

测验

  • 在CentOS主机中,执行ping 192.168.100.10看是否ping通
  • 在Debian 中执行 ping 192.168.100.254 看是否ping通。


本文章同步发表在个人博客 将 Linux 设为具有路由器功能

你可能感兴趣的:(将 Linux 设为具有路由器功能)