欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

将 Linux 设为具有路由器功能

程序员文章站 2022-03-10 16:11:28
...

实验环境

在 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 路由器