ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Ubuntu 24.04 配置大量ip及ssh远程

Ubuntu 24.04 配置大量ip及ssh远程 温馨提醒我是在虚拟机上测试的网段192.168.233.0/24网关192.168.233.2已有主 IP192.168.233.3需要附加 IP 范围192.168.233.4 ~ 192.168.233.253一共 250 个附加 IP。需求外部任意访问该段任意 IP[3-253]都可以 ssh 连接本机步骤 1确认网卡名称ipaddr我这里的网卡名是ens33如果你的是eth0或者其他的话下面所有配置把ens33替换成eth0或者其他的把/etc/netplan/目录下的文件内容改成下面这种然后netplan apply步骤 2禁用 cloud‑init 网络cd/etc/cloud/cloud.cfg.dnano99-disable-network-config.cfg 再把network:{config: disabled}这串写进上面的文件里面步骤 3禁用NetworkManager启动systemd‑networkdubuntu 24.04 默认使用的是NetworkManager服务systemctl stop NetworkManager systemctl disable NetworkManager systemctl start systemd-networkd systemctlenablesystemd-networkd步骤 4编写脚本由于192.168.233.4 ~ 192.168.233.253 ip数太多了不可能一个一个去敲所以脚本会方便一点nano/usr/local/bin/ipconf.sh再把下面的这串写进去【ip网段那些换成你自己的就行】#!/bin/bashNET_CONF/run/systemd/network/20-ens33.networkINTERFACEens33PRIMARY_IP192.168.233.3/24GW192.168.233.2SUBNET_BASE192.168.233START_IP4END_IP253mkdir-p/run/systemd/networkcat${NET_CONF}EOF [Match] Name${INTERFACE}[Network] Address${PRIMARY_IP}Gateway${GW}DNS223.5.5.5 DNS8.8.8.8 KeepConfigurationstatic EOFfor((iSTART_IP;iEND_IP;i));doechoAddress${SUBNET_BASE}.${i}/24${NET_CONF}donenetworkctl reload赋予权限chmodx /usr/local/bin/ipconf.sh步骤 5创建 systemd 服务在 networkd 启动前生成配置nano/etc/systemd/system/ipconf.service[Unit]DescriptionGenerate ens33 largeiprange config before networkd startBeforesystemd-networkd.service[Service]TypeoneshotExecStart/usr/local/bin/ipconf.sh[Install]WantedBymulti‑user.target启用并执行systemctl daemon-reload systemctlenable--nowipconf.service systemctl restart systemd-networkd步骤 6测试验证先模拟网卡updown的情况iplinksetens33 downipaddr从上面结果来看ip没了iplinksetens33 upipaddr我们查看一下/run/systemd/network/20‑ens33.network这个文件【我们在创建ipconf.sh文件里面有写到】我们从外面ping 192.168.233.3 ~ 192.168.233.253 任意几个ip是可以通的重启机器情况重启机器后ip依然还在外面也是能正常ping 通步骤7ssh测试验证安装一下ssh【如果已经安装ssh了这一步可忽略】aptupdateaptinstall-yopenssh-server安装完成后/etc/ssh下面会多出sshd_config服务端配置文件启动并开机自启 ssh 服务systemctl startsshsystemctlenablessh外部测试ssh如果要允许root远程的话编辑/etc/ssh/sshd_config然后将PermitRootLogin prohibit-password改为PermitRootLogin yes记得把PermitRootLogin前面的#去掉修改完重启 sshsystemctl restart ssh
返回列表