jjzjj

Linux(CentOS 7)配置静态ip及ping 不通外网问题

世间百态命运使然 2025-02-18 原文

前言

日常学习中,如果Linux中安装了MySQL、nacos、redis等中间件。我们可能会通过navicat/dataGrip连接MySQL、会通过ip:port/nacos访问nacos、会通过ip:port连接redis。可以看到这些都跟Linux的ip地址有关,所以一旦开机重启后,Linux ip地址有变动,我们将需要逐个进行ip地址的修改,这是极其不方便的。
我们可以将Linux ip地址配置为静态ip,规避上面的问题。

二、编辑网卡配置文件

1. 配置文件地址

需要注意的是,网卡配置文件可能是ifcfg-ens32,也有可能是ifcfg-ens33,有哪个直接编辑哪个就行。

vim /etc/sysconfig/network-scripts/ifcfg-ens32

修改BOOTPROTO为static、ONBOOT为yes;添加IPADDR、NETMASK、GATEWAY、DNS1、DNS2、DNS3

网关和ip地址等可通过VMware 中“编辑–>虚拟网络编辑器–>NAT设置”查看,如下图所示:

BOOTPROTO=static            // 静态网址
ONBOOT=yes                  // 开机自启
IPADDR=192.168.160.188      // ip地址
NETMASK=255.255.255.0       // 子网掩码
GATEWAY=192.168.160.2       // 网关,vmware NAT模式在编辑--虚拟网络编辑器中选中NAT模式里点击NAT配置查看
DNS1=8.8.8.8
DNS2=114.114.114.114
DNS3=8.8.4.4

2. 重启网络服务即可

systemctl restart network

2. 潜在问题(网络ping不通主机/外网)

写在最前面,解决方法参考自:CentOS虚拟机linux设置静态IP后无法ping外网解决方案

  1. 网关要对应
    在虚拟机->编辑->虚拟网络编辑器中能看到子网ip和子网掩码,因此设置网关GATEWAY除了最后一位为2,其他与子网ip保持一致,即192.168.44.2。子网掩码NETMASK设置为255.255.255.0。

  2. ip地址不要冲突
    有时候ip设置的会冲突,修改最后一位,多试几个就行。
    如果你仔细查看了我在上面的图片&配置,会发现在VMware 中“编辑–>虚拟网络编辑器–>NAT设置”中的ip地址是192.168.160.0,但我设置的是192.168.160.188,这就解决了既ping不通主机,也ping不通外网的问题了。

  3. 域名一定要加上
    经过上述修改我已经能ping通主机,但是还是ping不通外网(www.baidu.com),于是我尝试加了DNS2,果然可以,因此建议DNS1和DNS2都加上。

总结

通过这篇文章,我们知晓了如何配置Linux静态ip,以及配置后ping不通主机和外网得解决方法。

有关Linux(CentOS 7)配置静态ip及ping 不通外网问题的更多相关文章

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 通过 rvm 升级 ruby​​gems 的问题 - 2

    尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub

  3. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  4. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  5. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  6. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  7. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  8. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

  9. ruby - 从 Ruby 中的主机名获取 IP 地址 - 2

    我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge

  10. ruby - Ping ruby 网站? - 2

    在Ruby中可以使用哪些替代方法来ping一个ip地址?标准库“ping”库的功能似乎非常有限。我对在这里滚动我自己的代码不感兴趣。有没有好的gem?我应该接受它并忍受它吗?(我在Linux上使用Ruby1.8.6编写代码) 最佳答案 net-ping值得一看。它允许TCPping(如标准ruby​​ping),但也允许UDP、HTTP和ICMPping。ICMPping需要root权限,但其他则不需要。 关于ruby-Pingruby网站?,我们在StackOverflow上找到一个类

随机推荐