美文网首页
CentOS搭建NAT和DHCP服务,实现共享上网

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

作者: 莫名其妙的一生 | 来源:发表于2018-07-31 15:32 被阅读0次

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

    什么是NAT

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

    什么是DHCP

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

    实验环境

    VMware Workstations:

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


      image

    检查网络连通性

    CentOS上执行以下命令:

    #ping -c 4 www.baidu.com
    

    备注:检查centos到互联网的网络连通性

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

    #ifconfig
    
    image

    关闭防火墙

    #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
    

    开启Linux路由功能

    #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服务

    安装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
    配置文件内容如下:

    image

    完整配置:

    # 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
    

    查看Windows7上的网络信息

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


      image
      image
    • 检查访问互联网的连通性:


      image
    • 可以正常访问百度:


      image

    相关文章

      网友评论

          本文标题:CentOS搭建NAT和DHCP服务,实现共享上网

          本文链接:https://www.haomeiwen.com/subject/wwdhvftx.html