Linux – 搭建DHCP及路由转发

安装DHCP服务

  1. 安装dhcp服务

Centos:

yum install dhcp -y
systemctl start dhcpd

Ubuntu:

apt update
apt install dhcp -y
systemctl start dhcpd
2.编辑并替换DHCP服务配置文件

DHCP配置文件路径 /etc/dhcp/dhcpd.conf
配置文件如下,按需修改
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
#ddns-update-style ad-hoc;
default-lease-time 21600;
max-lease-time 43200;
#DHCPDARGS=eth2
option domain-name "a.com";
option domain-name-servers 114.114.114.114, 223.5.5.5;#给主机获取的DNS服务器
log-facility local7;
shared-network "netname" {
    subnet 192.168.0.0 netmask 255.255.255.0 {  #分配的IP网段
    range 192.168.0.10 192.168.0.254;      #分配的IP范围
    option routers 192.168.0.1;             #默认网关
    option broadcast-address 192.168.0.255;   #广播地址
#下面为静态IP设置
#host 名称()
# MAC地址与IP绑定
host tplink {
    hardware ethernet 7C:B5:9B:2B:CC:A3;
    fixed-address 192.168.0.4;
}
host openwrt {
    hardware ethernet 50:64:2B:AB:A1:1B;
    fixed-address 192.168.0.2;
}
}
}
3.让DNS服务通过防火墙,否则其他客户端无法正常获取IP
firewall-cmd --add-service=dns --permanent

路由转发

如果要将机器作为路由器上网,需要开启ip流量转发功能

第一钟方法:直接允许IP转发

firewall-cmd --add-masquerade --permanent

第二种: 将内网外网网卡分开管理

首先输入来查看当前防火墙配置

firewall-cmd --list-all

假设接口 interfaces:eth1 eth2 两个

先配置外网接口:

查看外网接口 查看masquerade属性是否是YES

firewall-cmd --list-all --zone=external

设置成外网接口,例如把eth1设置成外网接口WAN并永久生效,

然后重启防火墙让其生效

firewall-cmd --change-interface=eth1 --zone=external --permanent
firewall-cmd --comlpete-reload

然后查看外网接口是不是eth1

firewall-cmd --list-all --zone=external

然后现在配置内网接口 把剩下的两张网卡配置成内网接口LAN:

把eth2配置成内网接口并设置永久生效

firewall-cmd --change-interface=eth2 --zone=internal --permanent

这时 eht2就配置成永久内网了,为了以防万一 我们还是查看一下内网的接口配置是否成功

输入 firewall-cmd --list-all 查看,但是此时查看的并不是内网接口,是未配置的防火墙接口

所以我们还必须设置默认的接口区域

firewall-cmd --set-default-zone=internal

这时就把区域设置成内网接口LAN

此时重启一下防火墙 firewall-cmd --complete-reload

然后在输入 firewall-cmd --list-all 此时就会显示internal的接口的信息

现在我为内网接口添加本地 DNS服务使其允许通过防火墙,重启防火墙生效

firewall-cmd --zone=internal --add-service=dns --permanent
firewall-cmd --complete-reload

最后使用 firewall-cmd --list-all 检查

此时在service就会显示dns(未添加之前键入此行代码会看不到DNS)

到这里就配置完成了!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

    暂无评论内容