找回密码
 立即注册
查看: 104|回复: 3

甲骨文IP防掉,改IPv4 IPv6静态配置小妙招,亲测有效

[复制链接]

680

主题

0

回帖

680

积分

00话痨hs000

积分
680
发表于 2023-6-11 18:58:11 | 显示全部楼层 |阅读模式
最近听说不少坛友的甲骨文机器的网络失去了连接,尤其是以dhcp方式配置的IPv6网络居多,dhcp依赖上游路由自动告知机器对应的IP信息,如果我们强制给本机静态IP配置,相当于我们已经有了访问网络的凭证,只要基础网络未发生故障,就可以无视依赖上游dhcp服务器再发给我们的联网凭证,始终做到“不掉”IP,因为IP就写在机器的网络配置里,不会存在“掉”一说了,除非整个网络挂掉了。我的好多台甲骨文机器通过强给静态IPv4 IPv6参数,连接一直很稳定,没出现掉网络的情况。

手工从动态改成静态网络稍微有点麻烦,闲置吃灰鸡可使用我的一键重装脚本,加上 --network "static" 参数,重装到的新系统里IPv4 IPv6自动被静态配置了,非常方便。

项目地址,欢迎 star,github 主页或私信反馈:
https://github.com/leitbogioro/Tools

论坛主贴:
https://fanqiangdang.com/forum.php?mod=viewthread&tid=1159839

由于shell传递特殊的字符串有可能会被不当处理,原则上密码建议用单引号括起来,或保持默认的 LeitboGi0ro,重装后进系统改。
  1. bash InstallNET.sh -debian 12 -port "端口" -pwd '密码' -mirror "选一个离机器地理较近的镜像源" --network "static"bash InstallNET.sh -ubuntu 22.04 -port "端口" -pwd '密码' -mirror "选一个离机器地理较近的镜像源" --network "static"bash InstallNET.sh -kali rolling -port "端口" -pwd '密码' -mirror "选一个离机器地理较近的镜像源" --network "static"bash InstallNET.sh -alpine edge -port "端口" -pwd '密码' -mirror "选一个离机器地理较近的镜像源" --network "static"bash InstallNET.sh -centos 9 -port "端口" -pwd '密码' -mirror "选一个离机器地理较近的镜像源" --network "static"bash InstallNET.sh -rocky 9 -port "端口" -pwd '密码' -mirror "选一个离机器地理较近的镜像源" --network "static"bash InstallNET.sh -alma 9 -port "端口" -pwd '密码' -mirror "选一个离机器地理较近的镜像源" --network "static"bash InstallNET.sh -fedora 38 -port "端口" -pwd '密码' -mirror "选一个离机器地理较近的镜像源" --network "static"
复制代码

如果机器上在跑业务,不方便重装,只能在当前系统环境中操作,如何把动态IP改成静态IP?办法是有的,先获得网络配置。

主IPv4地址:
  1. ip -4 addr show | grep -wv "lo" | grep -w 'inet'
复制代码

IPv4网关:
  1. ip -4 route show default
复制代码

IPv4掩码:
  1. 甲骨文机器一般为24,全写形式就是255.255.255.0
复制代码

IPv4 DNS,国外一般为cloudflare和谷歌的:
  1. 1.0.0.1 8.8.4.4
复制代码

主IPv6地址:
  1. ip -6 addr show | grep -wv "lo" | grep -w 'inet6'
复制代码

IPv6网关:
  1. ip -6 route show default
复制代码

IPv6掩码:
  1. dhcp IPv6掩码一般为64
复制代码

IPv6 DNS,国外一般为cloudflare和谷歌的:
  1. 2606:4700:4700::1001 2001:4860:4860::8844
复制代码

常见Linux发行版网络配置文件目录:

Debian/Kali/AlpineLinux:
  1. /etc/network/interfaces
复制代码

如果是被cloud init初始化后的Debian系,其网络配置文件也有可能是:
  1. /etc/network/interfaces.d/50-cloud-init.cfg
复制代码

配置模板:
  1. # This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).source /etc/network/interfaces.d/*# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceallow-hotplug eth0iface eth0 inet static         address 本机IPv4地址         netmask 255.255.255.0         gateway 10.0.0.1         dns-nameservers 1.0.0.1 8.4.4.8iface eth0 inet6 static         address 本机IPv6地址         netmask 64         gateway 本机本地回环网卡IP         dns-nameservers 2606:4700:4700::1001 2001:4860:4860::8844
复制代码

AlpineLinux稍有区别,网卡名必须以eth0开头,不能是别的,注意IPv6部分“pre-up”这段话必须要给,否则IPv6配置无效:
  1. auto loiface lo inet loopbackauto eth0iface eth0 inet static        address 本机IPv4地址        netmask 255.255.255.0        gateway 10.0.0.1iface eth0 inet6 static        address 本机IPv6地址        netmask 64        gateway 本机本地回环网卡IP        pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra
复制代码

AlpineLinux dns部分是需要另配的,备份原/etc/resolv.conf文件,去我项目主页下一个写好的放在原目录即可:
  1. cp /etc/resolv.conf /etc/resolv.conf.bakwget -qO /etc/resolv.conf 'https://github.com/leitbogioro/Tools/blob/master/Linux_reinstall/Alpine/network/resolv.conf'
复制代码

修改后重启网络服务:
  1. /etc/init.d/networking restart
复制代码

CentOS AlmaLinux RockyLinux Fedora 统称红帽系,CentOS 7/8 AlmaLinux/RockyLinux 8 用的还是老的ifupdown配置格式。

如果不确定网卡名,可以先看一下目录:
ls /etc/sysconfig/network-scripts/
ifcfg-网卡名(如eth0)

确定好网卡名后,编辑一下文件,参考模板:
  1. TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noNM_USER_ORG__FREEDESKTOP___NETWORK_MANAGER__ORIGIN=nm-initrd-generatorBOOTPROTO=noneIPADDR=本机IPv4地址PREFIX=24GATEWAY=10.0.0.1DNS1=1.0.0.1DNS2=8.8.4.4DEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=noIPV6ADDR=本机IPv6地址/64IPV6_DEFAULTGW=本机本地回环网卡IPDNS3=2606:4700:4700::1001DNS4=2001:4860:4860::8844IPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=eui64NAME=eth0UUID=21206a62-3379-426e-847c-6eaa4cf93c65DEVICE=eth0ONBOOT=yesAUTOCONNECT_PRIORITY=-100AUTOCONNECT_RETRIES=1MULTI_CONNECT=1DEVTIMEOUT=60
复制代码

修改完成重启网络服务:
  1. systemctl restart network
复制代码

CentOS/AlmaLinux/RockyLinux 9和Fedora用的是全新的NetworkManager,语法比老的ifupdown好点。

如果不确定网卡名,可以先看一下目录:
  1. ls /etc/NetworkManager/system-connections/网卡名(如eth0).nmconnection
复制代码

确定好网卡名后,编辑一下文件,参考模板:
  1. [connection]id=eth0uuid=bc643fd1-883f-4978-811f-3cd7ad2d9545type=ethernetautoconnect-priority=-100autoconnect-retries=1interface-name=enp0s6multi-connect=1timestamp=1686480426wait-device-timeout=60000[ethernet][ipv4]address1=本机IPv4地址/24,10.0.0.1dns=1.0.0.1;8.8.4.4;method=manual[ipv6]addr-gen-mode=eui64address1=本机IPv6地址/64,本机本地回环网卡IPdns=2606:4700:4700::1001;2001:4860:4860::8844;method=manual[proxy][user]org.freedesktop.NetworkManager.origin=nm-initrd-generator
复制代码

修改完成重启网络服务:
  1. systemctl restart NetworkManager.service
复制代码

红帽正处于采用ifupdown和NetworkManager交替期,有的时候高版本的红帽,比如9,也会采用旧的ifupdown方式来管理网络,这时候要把/etc/sysconfig/network-scripts/和/etc/NetworkManager/system-connections/这两个目录都看一下,确认哪个才存放的是有效网络配置。

Ubuntu 18.04 以后采用netplan来管理网络,其配置文件格式为“*.yaml”,路径如下:
  1. ls /etc/netplan/数字-xxx.yaml
复制代码

以下仅展示version 2的netplan yaml配置模板,适用于Ubuntu 20.04/22.04,适用于Ubuntu 18.04的version 1的,请把version 2改成version 1,再把“routes:”和其从属的“to”和“via”删掉,改成:

gateway4: IPv4网关
gateway6: IPv6网关

注意,version 1和version 2之间,指定路由部分的语法不能混用,否则重启netplan任务会报错!
  1. # This file is generated from information provided by the datasource.  Changes# to it will not persist across an instance reboot.  To disable cloud-init's# network configuration capabilities, write a file# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:# network: {config: disabled}network:    ethernets:        eth0:            addresses:            - 本机IPv4地址/24            - 本机IPv6地址/64            dhcp4: false            dhcp6: false            nameservers:                addresses:                - 1.0.0.1                - 2606:4700:4700::1001                - 8.8.4.4                - 2001:4860:4860::8844            routes:            -   to: default                via: 10.0.0.1            -   to: default                via: 本机本地回环网卡IP    version: 2
复制代码

修改完应用netplan配置并重启netplan服务:
  1. netplan apply
复制代码
回复

使用道具 举报

0

主题

981

回帖

0

积分

新手上路

积分
0
发表于 2023-6-11 19:05:12 | 显示全部楼层
太麻烦了,其实掉,也不是一直掉
回复 支持 反对

使用道具 举报

0

主题

1065

回帖

0

积分

新手上路

积分
0
发表于 2023-6-11 19:11:36 | 显示全部楼层
最简单的方式就是给 --network "static" 一键重装,静态自动配好,只要机器上没重要数据
回复 支持 反对

使用道具 举报

0

主题

1000

回帖

0

积分

新手上路

积分
0
发表于 2023-6-11 19:15:13 | 显示全部楼层
直接写个shell脚本 每半个小时执行一次 发现pingGoogle不通直接自动执行挂在就可以。没必要如此麻烦
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|翻墙党

GMT+8, 2026-9-25 21:35 , Processed in 0.076714 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表