keys:linux 图形界面 NetworkManager eth0 System eth0 ifcfg-eth0
请教一个关于网络配置的问题,如图:
该网络连接图形界面中 有2个配置,其中System eth0 有对应的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,但是zhoucf这个配置是我手工在图形界面里添加的,它的对应的配置文件在哪里呢?
![](https://i-blog.csdnimg.cn/blog_migrate/7bd2c1d33c710efb6bf32ef7d6cd1fe7.jpeg)
该网络连接图形界面中 有2个配置,其中System eth0 有对应的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,但是zhoucf这个配置是我手工在图形界面里添加的,它的对应的配置文件在哪里呢?
我想在初始化linux有个纯净的网络配置,用命令行删除上面图中zhoucf配置 怎么办呢?
-----------------------------
find /root -type f -name "*" | xargs grep "zhoucf"
找到
/root/.gconf/system/networking/connections/2/connection/%gconf.xml: <stringvalue>zhoucf22</stringvalue>
/root/.gconf/system/networking/connections/1/connection/%gconf.xml: <stringvalue>zhoucf</stringvalue>
路径中的数字1和2分别代表第1个和第2个手工配置的网络设置,
进入文件夹1,ll显示内容如下:
[
root@localhost Desktop]# cd /root/.gconf/system/networking/connections/1
[ root@localhost 1]# ll
total 16
drwx------. 2 root root 4096 Sep 7 17:11 802-3-ethernet
drwx------. 2 root root 4096 Sep 7 17:11 connection
-rw-------. 1 root root 0 Sep 7 16:48 %gconf.xml
drwx------. 2 root root 4096 Sep 7 17:11 ipv4
drwx------. 2 root root 4096 Sep 7 17:11 ipv6
[ root@localhost 1]# ll
total 16
drwx------. 2 root root 4096 Sep 7 17:11 802-3-ethernet
drwx------. 2 root root 4096 Sep 7 17:11 connection
-rw-------. 1 root root 0 Sep 7 16:48 %gconf.xml
drwx------. 2 root root 4096 Sep 7 17:11 ipv4
drwx------. 2 root root 4096 Sep 7 17:11 ipv6
其中
connection/%gconf.xml中配置了链接的名称id、uuid、type等内容,内容如下:
<?xml version="1.0"?> <gconf> <entry name="timestamp" mtime="1410081115" type="string"> <stringvalue>1410081115</stringvalue> </entry> <entry name="type" mtime="1410081115" type="string"> <stringvalue>802-3-ethernet</stringvalue> </entry> <entry name="uuid" mtime="1410081115" type="string"> <stringvalue>c0a50c06-f281-48ca-b1d5-6499ffb98b48</stringvalue> </entry> <entry name="id" mtime="1410081115" type="string"> <stringvalue>zhoucf</stringvalue> </entry> <entry name="name" mtime="1410081115" type="string"> <stringvalue>connection</stringvalue> </entry> </gconf>ipv4/ /%gconf.xml 中配置了ip地址、dns等内容,其中地址以ip倒序的数值形式表示
<?xml version="1.0"?> <gconf> <entry name="routes" mtime="1410081115" type="list" ltype="int"> </entry> <entry name="address-labels" mtime="1410081115" type="list" ltype="string"> <li type="string"> <stringvalue></stringvalue> </li> </entry> <entry name="addresses" mtime="1410081115" type="list" ltype="int"> <li type="int" value="-939415360"/> <li type="int" value="24"/> <li type="int" value="16885952"/> </entry> <entry name="dns" mtime="1410081115" type="list" ltype="int"> <li type="int" value="16885952"/> </entry> <entry name="method" mtime="1410081115" type="string"> <stringvalue>manual</stringvalue> </entry> <entry name="name" mtime="1410081115" type="string"> <stringvalue>ipv4</stringvalue> </entry> </gconf>java 计算代码:
public class IpLong {
/**
* ip地址转成整数.
* @param ip
* @return
*/
public static long ip2long(String ip) {
String[] ips = ip.split("[.]");
long num = 16777216L*Long.parseLong(ips[0]) + 65536L*Long.parseLong(ips[1]) + 256*Long.parseLong(ips[2]) + Long.parseLong(ips[3]);
return num;
}
/**
* 整数转成ip地址.
* @param ipLong
* @return
*/
public static String long2ip(long ipLong) {
//long ipLong = 1037591503;
long mask[] = {0x000000FF,0x0000FF00,0x00FF0000,0xFF000000};
long num = 0;
StringBuffer ipInfo = new StringBuffer();
for(int i=0;i<4;i++){
num = (ipLong & mask[i])>>(i*8);
if(i>0) ipInfo.insert(0,".");
ipInfo.insert(0,Long.toString(num,10));
}
return ipInfo.toString();
}
public static void main(String[] args) {
//System.out.println(ip2long("219.239.110.138"));
System.out.println(ip2long("192.168.1.200"));//3232235976
System.out.println(ip2long("200.1.168.192"));//3355551936
System.out.println(long2ip(16885952));//16885952 在ipv4//%gconf.xml中 dns的配置
//打印结果:-56.1.168.192
System.out.println(long2ip(-939415360));//939415360 在ipv4//%gconf.xml中 addresses的配置
//打印结果 -56.1.168.192 (其中 256-56=200) 通过计算得到200.1.168.192
}
}
总结:
1、配置linuxip的时候,设置ifcfg-eh0就行了,这是系统级别的,在图形界面手工配置的ip设置,是用户级别的,且重启后,系统会优先加载系统级别的配置
2、在分析过程中查找命令功不可没:
grep "zhoucf" -rl /root
和
find /root -type f -name "*" | xargs grep "zhoucf"
3、知道了NetworkManager 是怎么存放ip配置的,就可以放心配置ifcfg-ech0来配置网络设置了