ubuntu 搭建dhcp?ubuntu 配置静态ip
在一个局域网中(没有dhcp服务)用docker搭建一个dhcp服务器
1、使用的镜像
sudo docker pull networkboot/dhcpd
2、测试的局域网拓扑结构如下:h为 DHCP服务器,ovs交换机s1、s2、s3各连着一台等待分配ip地址的主机。
3、h DHCP服务器通过一对暴露于root namespace的veth pair相连,具体操作如下
3.1、生成交换机s1、s2、s3
sudo ovs-vsctl add-br s1sudo ovs-vsctl add-br s2sudo ovs-vsctl add-br s3
3.2、创建veth pair即 v1-v2
sudo ip link add v1 type veth peer name v2
3.3、**up
sudo ip link set dev v1 upsudo ip link set dev v2 up
3.4、给v1配置ip及子网掩码
sudo ifconfig v1 192.168.1.254 netmask 255.255.255.0
3.5、生成DHCP服务器,监听v1,挂载本地data文件夹,data里面中只有dhcpd.conf文件
sudo docker run-it\--rm--net host\--init\--name=dhcpServer1\-v~/emxbook/docker-dhcpd/data:/data\networkboot/dhcpd v1
dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0{option routers 192.168.1.1;option subnet-mask 255.255.255.0;option domain-name"emx.local";option domain-name-servers 8.8.8.8;range 192.168.1.2 192.168.1.100;}
3.5、将v2连接到交换机上
sudo ovs-vsctl add-port s1 v2
3.6、交换机s1、s2、s3彼此相连
sudo ovs-vsctl add-port s1 s1p1sudo ovs-vsctl set Interface s1p1 type=patchsudo ovs-vsctl set Interface s1p1 options:peer=s2p1sudo ovs-vsctl add-port s2 s2p1sudo ovs-vsctl set Interface s2p1 type=patchsudo ovs-vsctl set Interface s2p1 options:peer=s1p1sudo ovs-vsctl add-port s1 s1p2sudo ovs-vsctl set Interface s1p2 type=patchsudo ovs-vsctl set Interface s1p2 options:peer=s3p1sudo ovs-vsctl add-port s3 s3p1sudo ovs-vsctl set Interface s3p1 type=patchsudo ovs-vsctl set Interface s3p1 options:peer=s1p2
3.7、创建主机h1、h2、h3,并将其连接到交换机上,其中ubunut:5是添加了基本net-tools、isc-dhcp-client,创建的时候记得使用--cap-add=NET_ADMIN
sudo docker run-itd--network=none--name=h1--cap-add=NET_ADMIN ubuntu:5sudo docker run-itd--network=none--name=h2--cap-add=NET_ADMIN ubuntu:5sudo docker run-itd--network=none--name=h3--cap-add=NET_ADMIN ubuntu:5sudo ovs-docker add-port s1 eth1 h1sudo ovs-docker add-port s2 eth1 h2sudo ovs-docker add-port s3 eth1 h3
3.8、可以使用floot-light控制交换机s1、s2、s3交换机(选择)
sudo ovs-vsctl set-controller s1 tcp:127.0.0.1:6653sudo ovs-vsctl set-controller s2 tcp:127.0.0.1:6653sudo ovs-vsctl set-controller s3 tcp:127.0.0.1:6653
4、使用dhclient eht1向DHCP服务器申请
4.1、申请ip之前
4.2、申请ip(服务器端界面)
4.3申请ip之后,h1(192.168.1.38):
同理,h2(192.168.1.39):
h3(192.168.1.40):
5、测试
5.1、h1 ping h2(192.168.1.39):
5.2、h2 ping h3(192.168.1.40):
6、最后拓扑结构图,ip分配之后的拓扑结构:DHCP服务器(192.168.1.6)、h1(192.168.1.38)、h2(192.168.1.39)、h3(192.168.1.40)
7、代码汇总参考
sudo ovs-vsctl add-br s1sudo ovs-vsctl add-br s2sudo ovs-vsctl add-br s3sudo ip link add v1 type veth peer name v2sudo ip link set dev v1 upsudo ip link set dev v2 upsudo ifconfig v1 192.168.1.6 netmask 255.255.255.0sudo docker run-it\--rm--net host\--init\--name=dhcpServer\-v~/emxbook/docker-dhcpd/data:/data\networkboot/dhcpd v1sudo ovs-vsctl add-port s1 v2sudo ovs-vsctl add-port s1 s1p1sudo ovs-vsctl set Interface s1p1 type=patchsudo ovs-vsctl set Interface s1p1 options:peer=s2p1sudo ovs-vsctl add-port s2 s2p1sudo ovs-vsctl set Interface s2p1 type=patchsudo ovs-vsctl set Interface s2p1 options:peer=s1p1sudo ovs-vsctl add-port s1 s1p2sudo ovs-vsctl set Interface s1p2 type=patchsudo ovs-vsctl set Interface s1p2 options:peer=s3p1sudo ovs-vsctl add-port s3 s3p1sudo ovs-vsctl set Interface s3p1 type=patchsudo ovs-vsctl set Interface s3p1 options:peer=s1p2sudo docker run-itd--network=none--name=h1--cap-add=NET_ADMIN ubuntu:5sudo docker run-itd--network=none--name=h2--cap-add=NET_ADMIN ubuntu:5sudo docker run-itd--network=none--name=h3--cap-add=NET_ADMIN ubuntu:5sudo ovs-docker add-port s1 eth1 h1sudo ovs-docker add-port s2 eth1 h2sudo ovs-docker add-port s3 eth1 h3sudo ovs-vsctl set-controller s1 tcp:127.0.0.1:6653sudo ovs-vsctl set-controller s2 tcp:127.0.0.1:6653sudo ovs-vsctl set-controller s3 tcp:127.0.0.1:6653
基于ubuntu的软路由搭建(透明网关)
将路由系统从OpenWrt切换至Ubuntu,简化操作流程,解决使用中的问题。搭建Ubuntu软路由的步骤包括开启路由转发、设置nftables与route,安装并配置dhcp服务器,最后进行***ray设置。
首先,确保你的网络配置正确。enp5s0为内网接口(LAN),enp2s0、enp3s0、enp4s0为外网接口(WAN)。
开启路由转发,并使用nftables进行网络规则管理。在`/etc/nftables.conf`、`/etc/routernft.conf`中编辑配置文件,确保与你的网络环境匹配。此外,需对`/lib/systemd/system/nftables.service`进行适当调整,以便系统能够正确加载nftables服务。
安装dhcp服务器,使用`apt install isc-kea`命令进行安装。创建配置文件`/etc/kea/kea-dhcp4.conf`,配置内网地址段,如将`10.110.1.1/24`替换为你实际使用的网络地址段。启动dhcp服务,使用`systemctl start isc-kea-dhcp4-server`命令。
最后,进行***ray设置,确保软路由能够为你的网络提供透明网关服务。根据你的网络环境调整设置,若遇到疑问,可以私信提问。
Ubuntu 10.04下PXE跨局域网自动安装的方法
在探讨跨局域网下Ubuntu 10.04的自动安装时,关键在于实现网络全通,并搭建DHCP服务器。以下步骤详细介绍实现跨局域网自动安装Ubuntu 10.04的方法。
首先,实现全网互通,确保局域网内的主机能够相互ping通。这为跨局域网自动安装系统奠定基础。
在局域网192.168.2.0/24中搭建DHCP服务器。通过DHCP服务器自动分配IP地址,并且能指定路由和TFTP服务器。指定路由相当于默认网关,使客户端能够与PXE服务器通信。指定TFTP服务器,客户端通过TFTP协议下载pxelinux.0文件及内核启动文件等,根据text.cfg文件指引下载并按照ks.cfg文件的步骤安装系统。ks.cfg文件指示系统安装文件位于192.168.0.105的/var/www/ubuntu目录,客户端请求安装文件进行安装。
在实现全网互通方面,对PXE服务器和DHCP服务器进行路由配置,确保网络连接无阻。在客户端DHCP服务器上测试联通性,通常ping操作即可验证。
接下来是客户端DHCP服务器的配置。编辑配置文件,指定网络范围、默认网关、DNS服务器、TFTP服务器及安装文件等关键参数。确保客户端能够通过DHCP服务器自动获取所需的网络设置和安装资源。
最后,进行跨局域网安装测试。客户端获得的IP为192.168.2.101,网关为192.168.2.1,TFTP服务器为192.168.0.105。完成这些设置后,跨局域网自动安装系统即可成功实现。虽然步骤相对简单,但用户仍需按照步骤逐一执行,以确保方法正确无误。