钟朱文 發表於 2008-9-8 18:48:54

FreeBSD下一块网卡绑定多个IP的方法

<p>假设网卡lnc0原IP地址为192.168.0.2,现在为它绑定另一个IP:</p>
<p>CODE</p>
<p># ifconfig lnc0 192.168.0.3 netmask 255.255.255.255 alias</p>

<p>解释:<br />
CODE</p>
<p>如果别名IP地址和网卡原IP地址在同一个子网上,就需要<a target="_blank" href="#" class="UBBWordLink">设置</a>掩码为255.255.255.255<br />
如果位于不同的子网,就直接使用相应子网的正常<a target="_blank" href="#" class="UBBWordLink">网络</a>掩码</p>
<p>从TCP/IP的角度来看,这样做意味着什么呢?<br />
<a target="_blank" href="#" class="UBBWordLink">网络</a>掩码的所有位都<a target="_blank" href="#" class="UBBWordLink">设置</a>成1,就会保证ICP/IP栈这样来看待包:<br />
只要包的目标地址匹配所有位,就把该包看成本地子网上的包;它创建了只有一个地址的&ldquo;子网&rdquo;。<br />
所有发送给该地址的包以及该地址接受的包都会发送给路由器,而不会发送到LAN上。<br />
如果多个别名使用了同一个<a target="_blank" href="#" class="UBBWordLink">网络</a>掩码,这些别名的广播地址也应该相同,而这样却导致了TCP/IP栈的混乱。<br />
使用全1的<a target="_blank" href="#" class="UBBWordLink">网络</a>掩码,才能骗过ifconfig,让该命令允许单个接口卡上有多个IP地址。</p>

<p>要在/etc/rc.conf中<a target="_blank" href="#" class="UBBWordLink">设置</a>别名,应该使用 ifconfig_xxx#_alias# 关键字,该关键字的使用形式类似于 ifconfig_xxx#:</p>
<p>CODE</p>
<p>ifconfig_lnc0=&quot;inet 192.168.0.2 netmask 255.255.255.0&quot;<br />
ifconfig_lnc0_alias0=&quot;inet 192.168.0.3 netmask 255.255.255.255&quot;<br />
ifconfig_lnc0_alias1=&quot;inet 192.168.1.2 netmask 255.255.255.0&quot;<br />
ifconfig_lnc0_alias2=&quot;inet 192.168.1.3 netmask 255.255.255.255&quot;<br />
&nbsp;</p>
頁: [1]
查看完整版本: FreeBSD下一块网卡绑定多个IP的方法