什么是 NAT?
NAT(Network address translation)即网络地址转换, 作为一种过渡解决手段, 可以用来减少对全球合法 IP 地址的需求. 简单的说, NAT 就是在内部专用网络中使用内部地址, 而当内部节点要与外界网络发生联系时, 就在边缘路由器或者防火墙处, 将内部地址转换成公网地址, 从而使得在外网 (Internet) 上使用一个和数个合法 IP 地址正常传输数据. 其中, 这里的外网和内网是相对来讲的, 下面假设能够访问互联网的网络为外网.
什么是 DHCP
DHCP(Dynamic Host Configuration Protocol, 动态主机配置协议)通常被应用在大型的局域网络环境中, 主要作用是集中的管理, 分配 IP 地址, 使网络环境中的主机动态的获得 IP 地址, Gateway 地址, DNS 服务器地址等信息, 并能够提升地址的使用率.
实验环境
vSphere Client 远程 esxi
首先新建一个虚拟交换机
注意选择创建交换机的时候, 不要选中网卡, 把默认选中的网卡前的对勾删掉, 之所以这么做, 是因为我们要把这个网络的请求都转发到 VM Network 上去, 而不要让它自己走物理网卡出去.
点击下一步给交换机随便起个名字, 一路下一步即可
然后新建一个双网卡的虚拟机, 我用的是最小化安装 centos7(步骤在这里就不说了 详情见本人博客)
然后打开虚拟机设置
把网卡 2 连接到我们刚才新建的虚拟交换机上
这里记录一下网卡 2 的 mac 地址, 接下来会用到
然后开机
本人服务器是连接校园网的, 所以开机后写了一个脚本连上了校园网后才安装了一些软件, 如果不联网会 yum 不到, 自行配置联网
输入 yum -y update 更新 yum 源, 确保我们 yum 到的软件都是最新的
然后输入 yum -y install net-tools 安装一些基本命令
接下来输入 ifconfig 找到刚才记录的 mac 地址, 把这个网卡 ip 设置成内网 ip, 另一个设置成外网 ip
配置如下, 外网 ip 及网关根据实际情况配置, 内网 ip 可参照互联网协议设置(我这里 ens160 为外网网卡)
私有地址的范围分别是:
A 类地址范围: 10.0.0.0-10.255.255.255;
B 类地址范围: 172.16.0.0---172.31.255.555;
C 类地址范围: 192.168.0.0---192.168.255.255.
- vi /etc/sysconfig/network-scripts/ifcfg-ens160
- TYPE=Ethernet
- BOOTPROTO=static
- IPADDR=172.18.74.180
- NAME=ens160
- DEVICE=ens160
- ONBOOT=yes
- GATEWAY=172.18.74.253
- NETMASK=255.255.255.0
- DNS1=114.114.114.114
- DNS2=8.8.8.8
- vi /etc/sysconfig/network-scripts/ifcfg-ens192
- TYPE=Ethernet
- BOOTPROTO=static
- IPADDR=192.168.255.1
- NAME=ens192
- DEVICE=ens192
- ONBOOT=yes
- NETMASK=255.255.255.0
- DNS=114.114.114.114
注意不要写网关
重启网卡
service restart network
防火墙配置
关闭防火墙
- setenforce 0
- systemctl stop firewalld
- systemctl disable firewalld
配置防火墙, 让发送至内网网卡 (ens192) 的数据全部通过
iptables -A FORWARD -i ens192 -j ACCEPT
修改数据报头信息
iptables -t nat -A POSTROUTING -s 192.168.255.0/24 -o ens160 -j MASQUERADE
开启 Linux 路由功能
- echo 1> /proc/sys/net/ipv4/ip_forward
- cat /proc/sys/net/ipv4/ip_forward
安装配置 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 配置文件
vi /etc/dhcp/dhcpd.conf
画红线处是修改的地方, 后面的代码删除即可
解释:
subnet 后跟子网网段
netmask 后面是子网掩码
range 是地址池范围
option routers 是分发默认网关
默认租期时间(秒)
default-lease-time 600;
最大租期时间(秒)
max-lease-time 7200;
DNS 服务器地址(多个地址用 "," 隔开)
option domain-name-servers 223.5.5.5, 114.114.114.114;
为所分配的域分配域名(名字随便起)
option domain-name "vmnet.com";
启动 DHCP 服务
- systemctl restart dhcpd
- systemctl enable dhcpd
查看启动状态
- systemctl status dhcpd
- netstat -uap | grep dhcpd
搞定!
... 从前车马很慢, 书信很远, 一生只够爱一个人!
来源: http://blog.51cto.com/13670314/2164451