Ubuntu安装配置DHCP Server并共享Internet连接

By | 2020-01-13

介绍

  此方法将在Ubuntu16.04.6桌面系统上通过DHCP Server来完成。此设置使用两个以太网卡。
  Ubuntu从enp1s0获得互联网链接,通过enp2s0(网卡2)将DHCP分配给其他设备。

网卡

Ubuntu网卡驱动正常,能够正常获取到网卡信息。

cat /proc/net/dev
net dev
  1. enp1s0——enp4s0 分别对应了1-4号网卡 ;
  2. wlp5s0为无线网卡:型号RTL8821AE;
  3. enp1s0和wlp5s0都可以访问互联网;
ifconfig netdev

DHCP Server安装配置

所有命令均在root权限完成。

1、安装dhcpsserver软件包

apt-get install isc-dhcp-server

2、配置静态IP地址

 手动IP:ip addr add 192.168.10.1/24 dev enp1s0

 自动IP:修改文件/etc/network/interfaces,添加以下代码:

auto enp2s0
iface enp2s0 inet static
	address 192.168.10.1
	netmask 255.255.255.0

 ip addr测速结果如下:

3、分配动态IP

 编辑/etc/dhcp/dhcpd.conf,添加以下代码:

subnet 192.168.10.0 netmask 255.255.255.0 {
    range 192.168.10.10 192.168.10.100;
    option domain-name "SOMENAME";
    option domain-name-servers 192.168.10.1, 192.168.10.2;
    option routers 192.168.10.1;
    option broadcast-address 192.168.10.255;
    default-lease-time 600;
    max-lease-time 7200;
}

  eth1的IP地址为192.168.10.1,dhcp服务器现在将其用作其本地ip地址。

4、监听网卡

打开文件/etc/default/isc-dhcp-server ,修改最后一句代码,默认是eth0

INTERFACES="enp2s0"

DHCP Server配置结束!

启动DHCP Server

输入下面的命令运行DHCP Server

/etc/init.d/isc-dhcp-server restart

如果报告失败,则查看错误日志文件(/var/log/syslog,然后按END查看最后事件)

查看是否启动成功,如果成功会显示dhcpd

netstat -uap
dhcpd

配置防火墙

1、启动ipv4转发

 打开文件/etc/sysctl.conf
 取消注释net.ipv4.ip_forward=1,如果没有就自己加上

2、启用转发而不重启

echo 1 > /proc/sys/net/ipv4/ip_forward

3、启动NAT,添加防火墙规则启动数据包数据包转发

iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE 
iptables -t nat -A POSTROUTING -o wlp5s0 -j MASQUERADE

4、保存配置

iptables-save > /etc/iptables.rules

5、加载防火墙规则

 打开/etc/network/interfaces,添加防火墙规则
 完整代码如下:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto enp1s0
iface enp1s0 inet dhcp
    pre-up iptables-restore < /etc/iptables.rules
    post-down iptables-save > /etc/iptables.rules

auto wlp5s0
iface wlp5s0 inet dhcp
    pre-up iptables-restore < /etc/iptables.rules
    post-down iptables-save > /etc/iptables.rules

#The extended interfaces
auto enp2s0
iface enp2s0 inet static
    address 192.168.10.1
    netmask 255.255.255.0

如果出现无法获取IP,或者无法访问外网等,重启下网络试试

/etc/init.d/networking restart
systemctl status networking.server //查看服务是否运行成功

完成以上配置后,通过Ubuntu DHCP Server获取网络的设备也能正常访问Internet

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注