请教一个关于网络配置的问题,如图:
该网络连接图形界面中 有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显示内容如下:
[[email protected] Desktop]# cd /root/.gconf/system/networking/connections/1
[[email protected] 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代码
- <?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代码
- <?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 计算代码:
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来配置网络设置了