加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

CentOS搭建NAT和DHCP服务,实现共享上网

发布时间:2020-12-13 14:16:28 所属栏目:Linux 来源:网络整理
导读:h2 id="什么是nat"什么是NAT? NAT(Network address translation)即网络地址转换,作为一种过渡解决手段,可以用来减少对全球合法IP地址的需求。简单的说,NAT就是在内部专用网络中使用内部地址,而当内部节点要与外界网络发生联系时,就在边缘路由器或者

<h2 id="什么是nat">什么是NAT?

NAT(Network address translation)即网络地址转换,作为一种过渡解决手段,可以用来减少对全球合法IP地址的需求。简单的说,NAT就是在内部专用网络中使用内部地址,而当内部节点要与外界网络发生联系时,就在边缘路由器或者防火墙处,将内部地址转换成全局地址,从而使得在外部公共网(Internet)上使用一个和数个合法IP地址正常传输数据。 其中,这里的外网和内网是相对来讲的,下面假设能够访问互联网的网络为外网。

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

  1. VMware Workstations
  2. 一台最小化安装的CentOS7,外网IP(NAT模式):192.168.204.133,内网网卡vmnet10(相当于仅主机模式,且不自动获取IP)
  3. 一台Windows7,内网网卡vmnet10(相当于仅主机模式,且不自动获取IP)

CentOS上执行以下命令:

# 检查centos到互联网的网络连通性
ping -c 4 www.baidu.com
ifconfig

查看linux上的网卡配置信息,本文中默认ens33为外网网卡,ens37为内网网卡

setenforce 0
systemctl stop firewalld
systemctl disable firewalld

vim /etc/sysconfig/network-scripts/ifcfg-ens37

添加如下内容

TYPE="Ethernet"
BOOTPROTO="static"
NAME="ens37"
DEVICE="ens37"
ONBOOT="yes"
IPADDR="192.168.0.1"
NETMASK="255.255.255.0"
DNS1="223.5.5.5"

重启网卡

systemctl restart network

iptables -A FORWARD -i ens37 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ens33 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward

解释(ens37为内网网卡,ens33为外网网卡): 第一条命令:让发送至内网网卡的数据全部通过 第二条命令:修改数据报头信息 第三条命令:开启Linux的路由功能 第四条命令:查看是否启用了路由功能,1代表启用,0代表禁用 具体命令需要根据自己的网卡名称进行修改 执行以下命令,设置开机自动配置 Linux路由功能

echo -e "
iptables -A FORWARD -i ens37 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ens33 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
" >> /etc/rc.local
chmod +x /etc/rc.local

安装DHCP服务

yum install -y epel*
yum install -y dhcp

复制DHCP配置文件

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

编辑并修改dhcpd.conf配置文件

vim /etc/dhcp/dhcpd.conf

查找并修改option domain-name项,修改为vmnet.com 查找并修改option domain-name-servers项,修改为223.5.5.5,114.114.114.114 配置文件内容如下

# A slightly different configuration for an internal subnet.
subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.10 192.168.0.100;
  option domain-name-servers 223.5.5.5,114.114.114.114;
  option domain-name "vmnet.com";
  option routers 192.168.0.1;
  option broadcast-address 192.168.0.255;
  default-lease-time 600;
  max-lease-time 7200;
}

逐行进行解释

#subnet后跟子网网段,netmask后跟子网掩码
subnet 192.168.0.0 netmask 255.255.255.0 {
  #地址池
  range 192.168.0.10 192.168.0.100;
  #DNS服务器地址(多个地址用","隔开)
  option domain-name-servers 223.5.5.5,114.114.114.114;
  #为所分配的域分配域名
  option domain-name "vmnet.com";
  #为所分配的主机分发子网掩码
  option subnet-mask 255.255.255.0;
  #分发默认网关
  option routers 192.168.0.1;
  #分发广播地址
  option broadcast-address 192.168.0.255;
  #默认租期时间(秒)
  default-lease-time 600;
  #最大租期时间(秒)
  max-lease-time 7200;
}

启动DHCP服务

systemctl restart dhcpd
systemctl enable dhcpd

查看启动状态

systemctl status dhcpd
netstat -uap | grep dhcpd

禁用网卡,重新启动,查看网卡信息

本文链接:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读