Centos – 搭建DHCP及路由转发

安装DHCP服务

  1. 安装dhcp服务

    yum 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)

到这里就配置完成了!

评论

发表回复

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