目录
2、准备 1.txt 文件 (为内部客户机设置为固定获得ip)
一、项目拓扑
二、项目要求
1、DHCP服务器能够为两个网络分别分配IP地址。
2、内部客户机设置为固定获得某一个IP地址。
三、项目准备
DHCP服务器
1、下载dhcp服务
yum install -y dhcp-server
2、准备 1.txt 文件 (为内部客户机设置为固定获得ip)
cat 1.txt
host ens160 {
hardware ethernet 00:0c:29:65:e5:ea;
fixed-address 192.168.100.100;
}
3、准备2.txt文件 (为内部网络分配ip)
cat 2.txt
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.2 192.168.100.253;
option domain-name-servers 192.168.100.1;
option domain-name "internal.example.org";
option routers 192.168.100.254;
option broadcast-address 192.168.100.255;
default-lease-time 600;
max-lease-time 7200;
}
4、准备 3.txt 文件(为外部网络配置ip)
cat 3.txt
subnet 192.168.200.0 netmask 255.255.255.0 {
range 192.168.200.2 192.168.200.253;
option domain-name-servers 192.168.100.1;
option domain-name "internal.example.org";
option routers 192.168.200.254;
option broadcast-address 192.168.200.255;
default-lease-time 600;
max-lease-time 7200;
}
5、网卡准备
内部客户机
1、网卡准备
路由器
1、下载dhcp服务
yum install -y dhcp-server
2、网卡准备
外部客户机
1、网卡准备
四、脚本编写
路由器
#!/bin/bash
cat << EOF
请按顺序进行:
1、ifccfg-ens160
2、ifcfg-ens192
3、配置路由
4、中继转发
EOF
read -p "请输入你的选择:" num
case $num in
1)
aa="IPADDR=192.168.100.254"
bb="PREFIX=24"
sed -i 's/dhcp/static/' /etc/sysconfig/network-scripts/ifcfg-ens160
echo "$aa" >> /etc/sysconfig/network-scripts/ifcfg-ens160
echo "$bb" >> /etc/sysconfig/network-scripts/ifcfg-ens160
;;
2)
cp /etc/sysconfig/network-scripts/ifcfg-ens160 /etc/sysconfig/network-scripts/ifcfg-ens192
aa="IPADDR=192.168.200.254"
bb="PREFIX=24"
sed -i 's/dhcp/static/' /etc/sysconfig/network-scripts/ifcfg-ens192
sed -i 's/ens160/ens192/' /etc/sysconfig/network-scripts/ifcfg-ens192
sed -i '13d' /etc/sysconfig/network-scripts/ifcfg-ens192
echo "$aa" >> /etc/sysconfig/network-scripts/ifcfg-ens192
echo "$bb" >> /etc/sysconfig/network-scripts/ifcfg-ens192
;;
3)
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.conf
sysctl -p
;;
4)
dhcrelay 192.168.100.1
;;
esac
DHCP服务器
#!/bin/bash
cat << EOF
请按顺序进行:
1、配置静态IP
2、配置DHCP服务
3、为内部客户机分配地址
4、为外部客户机分配地址
5、为内部客户机固定获得某一个地址
EOF
read -p "请输入你的选择:" num
case $num in
1)
aa="IPADDR=192.168.100.1"
bb="PREFIX=24"
cc="GATEWAY=192.168.100.254"
sed -i 's/dhcp/static/' /etc/sysconfig/network-scripts/ifcfg-ens160
echo "$aa" >> /etc/sysconfig/network-scripts/ifcfg-ens160
echo "$bb" >> /etc/sysconfig/network-scripts/ifcfg-ens160
echo "$cc" >> /etc/sysconfig/network-scripts/ifcfg-ens160
;;
2)
example1=$(cat /etc/dhcp/dhcpd.conf | awk 'NR==3 {print $3}')
cp $example1 /etc/dhcp/
rm -rf /etc/dhcp/dhcpd.conf
mv /etc/dhcp/dhcpd.conf.example /etc/dhcp/dhcpd.conf
;;
3)
cat 2.txt > /etc/dhcp/dhcpd.conf
systemctl enable --now dhcpd.service
;;
4)
cat 3.txt >> /etc/dhcp/dhcpd.conf
systemctl enable --now dhcpd.service
;;
5)
cat 1.txt >> /etc/dhcp/dhcpd.conf
systemctl enable --now dhcpd.service
;;
esac