将 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主机下操作)
- 查看是否打开了封包传递功能
cat /proc/sys/net/ipv4/ip_forward
1为启动,0为未启动(默认是启动的) - 开启该功能
vim /etc/sysctl.conf
加入或修改 net.ipv4.ip_forward = 1 - 使其立即生效
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
命令。执行以下操作:
-
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
- 启动网络服务
systemctl restart networking.service
(与 CentOS略有不同) - 查看网卡是否开启
ip addr
, 若未开启,使用ifup ens33
。
测验
- 在CentOS主机中,执行
ping 192.168.100.10
看是否ping通 - 在Debian 中执行
ping 192.168.100.254
看是否ping通。
本文章同步发表在个人博客 将 Linux 设为具有路由器功能