LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1323|回复: 12

debian下一张网卡绑定多个IP的问题

[复制链接]
发表于 2005-10-25 15:16:29 | 显示全部楼层 |阅读模式
redhat中的方法搬过来不能用,debian中有篇文章说的修改/etc/network/interfaces和/etc/network/run/ifstate这两个文件,经检验不行。
然后我用Webmin帮忙,但Webmin配置好后成功了,但配置的结果不知存放在哪个文件里了?我找了平时用的这几个网络配置文件都没有变化。
发表于 2005-10-25 16:36:08 | 显示全部楼层
修改/etc/network/interfaces即可。
如下示例即可:
auto eth0:0
iface eth0:0 inet static
address 10.0.10.2
network 10.0.10.0
gateway 10.0.10.1
netmask 255.255.255.0
broadcast 10.0.10.255
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-25 16:55:45 | 显示全部楼层
楼上的这种办法我试过的,不行。现象如下:
按这种配置,用/etc/init.d/networking restart重启网络时会自动在/etc/network/run/ifstate文件中添加一行:eth0:0=eth0:0,这一次“好像”是启动了,但你如果因各种原因可能再用/etc/init.d/networking restart重启网络时,就启不动了,必须把/etc/network/run/ifstate中这自动加的一行删除,才能正常启动。如此周而复始。
所以我才用Webmin来配置,但配置是成功的,但这个配置不知道放到哪个文件里去了,所以我在找,肯定在/etc/network目录下(包括子目录)都找遍了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-27 20:28:33 | 显示全部楼层
我还在等呢,哪位出出手,谢谢!
回复 支持 反对

使用道具 举报

发表于 2005-10-28 18:56:30 | 显示全部楼层
auto lo
      6 iface lo inet loopback
      7
      8 # The primary network interface
      9 auto eth0 eth0:0
     10
     11 iface eth0 inet static
     12     address 202.118.250.12
     13     netmask 255.255.255.0
     14     network 202.118.250.0
     15     broadcast 202.118.250.255
     16     gateway 202.118.250.31
     17     # dns-* options are implemented by the resolvconf package, if installed
     18     dns-nameservers 202.118.250.120
     19
     20 iface eth0:0 inet static
     21     address 173.26.100.10
     22     netmask 255.255.255.0
     23     network 173.26.100.0
     24     broadcast 173.26.100.255
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-5 14:16:10 | 显示全部楼层
1、楼上兄弟的方法不行,把这几行直接复制过去(去掉了行号等),同样不行,显示结果一样:
---------------------------
dsjh:/home/uu# /etc/init.d/networking restart
Setting up IP spoofing protection: rp_filter.
Reconfiguring network interfaces...SIOCDELRT: No such process
ifup: interface lo already configured
done.
---------------------------
2、用webmin做的可以,但找不到配置信息放在哪个文件,于是卸载webmin,发现重启网络后这个虚拟IP将Ping不通,说明这个配置信息随着webmin一起被卸掉了,重新安装webmin,进入网络配置查看果然没有了。于是重新添加这个虚拟IP,找了两个目录:/etc/webmin和/usr/share/webmin,都没发现有日期时间变化的文件。查看日志文件:/var/log下的文件,只能看到操作过程的动作,结果是用save_aifc.cgi文件执行保存的,但保存到哪里并没有记录。
3、关于用/etc/network/interfaces文件配置,我已经在多台不同时间安装的Debian3.1的机器上试过,都不成功,都会导致循环不能启动的情况(即用/etc/init.d/networking restart第一次能启动,但第二次就不能启动,是因为在第一次启动时系统自动在/etc/network/run/ifstate多出一行,必须删除这一行,网络才能重新启动)。而Webmin为什么设置后的配置信息不放在/etc/network/interfaces文件中,而要靠webmin才能使用,说明webmin已经发现这个问题,所以才使用webmin自身的支持。现在最关心的时这个配置信息放哪里了?
4、以上只是根据现象猜测而已。为什么这个问题至今没有一个权威的答复,我想主要是:一般老师在讲“基于IP的虚拟主机的配置”时,一般是在redhat下做的,这里不存在问题;而“基于IP的虚拟主机”现在已经用得很少,因为没有这么多IP地址拿来用,所以也就停留在理论上说说而已,在Debian的实用中,并没有人这样做,而是用“基于域名的虚拟主机”,所以没有发现这个问题。
回复 支持 反对

使用道具 举报

发表于 2005-11-5 15:31:41 | 显示全部楼层
写一个完整的吧:
#/etc/network/interfaces
#-------------------------------------------
auto lo
iface lo inet loopback

auto eth0

iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1

auto eth0:0

iface eth0:0 inet static
address 10.0.0.2
netmask 255.255.255.0
gateway 10.0.0.1
---------------------------------------
对于每一个interface,一般来说,address,netmask,gateway这三项是必须要的,其他的象比如广播地址,网络地址都是可省略的。

对于每一个interface,
相对应的auto这一行和ifcace这一行也是必须的。
我在sarge下和testing下都是这样做的。
回复 支持 反对

使用道具 举报

发表于 2005-11-5 15:35:52 | 显示全部楼层
再不行啊,你就用webmin配置吧,配置好后,进入根目录:
grep "eth0:0" * -R
呵呵,把它搜出来。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-5 21:01:39 | 显示全部楼层
1、经检验,此法仍行不通
今天专门在另一个分区上安装了sarge的基本系统,/etc/network/interfaces的配置如下:
#-------------------------------------------
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 192.168.3.9
  netmask 255.255.255.0
  gateway 192.168.3.254

auto eth0:1
iface eth0:1 inet static
  address 192.168.3.109
  netmask 255.255.255.0
  gateway 192.168.3.254
#-------------------------------------------
结果还是一样的,即:
(1)第一次运行“/etc/init.d/networking restart”能正常启动,但隐患也埋下了,此时在“/etc/network/run/ifstate”文件中多出一行“eth0:1=eth0:1”。
(2)如果再运行“/etc/init.d/networking restart”,则不能正常启动网络,此时必须删除“/etc/network/run/ifstate”文件中多出的“eth0:1=eth0:1”行,才能启动网络,结果又回到(1)形成死循环。
当然如果一直不做第二步,机器不再重新启动,则这个虚拟接口也算可以用吧。
因为系统是重新安装的,说明系统本身没问题,应该具有代表性了。

2、webmin做好后,用“grep 'eth0:1' * -R”命令,会死机,发现主要是检查到dev目录时,显示了一些没找到之外,就会死机(“真死了”,要按电源开关很久才能关),“proc”目录等很久都没反应,其它目录检查后,发现“/etc/dhclient-script”文件和“/var/log/”目录下的日志文件中有记录,但好像这点信息不能说明任何问题。难道是加密了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-5 21:26:40 | 显示全部楼层
原来是在华硕的本本上做的,然后换到联想的台式机上实验,结果如下:
1、结果与在本本上做的一样。
2、不管是直接修改/etc/network/interfaces文件还是用Webmin来做,都是不能成功的。
原因分析:
1、由于“基于IP的虚拟主机”需要用多IP地址,而IP地址紧张的现实下,估计Debian的开发者不愿支持这一方法。
2、前面说到的用Webmin做的方法,说是成功,其实也是不成功的。因为感觉做好了,这个虚拟接口也能用了,用“/etc/init.d/networking restart”命令重新启动好像也没问题,实际上经过我用grep去找的过程,突然想到是不是这一操作过程只是记录到了缓存中,而没有记录到文件中,于是重新启动机器,再到客户机上用Webmin查看,果然原来在Webmin中做好的而且保存好的虚拟接口不见了,应该证实了这一想法,再换机实验,同样的结果。
3、前面两种方法,均是一种临时性添加虚拟接口的方法。以后想做虚拟主机时,还是用基于域名的方法才是正道。
4、这只是本人的实验结果,也许不对,请高手尽快出手,给这个问题一个定论,免得更多的人在这里浪费时间。
5、谢谢sqkz兄提供的“grep "eth0:0" * -R”灵感。
回复 支持 反对

使用道具 举报

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

本版积分规则

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