我有一个VPS
,其中配置了eth0,我想配置一个接口eth0.1,但我想知道我是否将配置这个新接口,数据流将在eth0和eth0.1之间划分?
我希望eth0 Ip address
用于服务器上的所有数据流,如自定义编写脚本和eth0.1 Ip address
,以便从浏览器访问它,因为我有Web服务器。
答案 0 :(得分:1)
默认情况下,Linux会将所有数据包发送到子网的默认接口,这很可能是eth0
。
iproute2
尝试通过在已接收数据包的同一接口上重定向数据包来解决此问题。
http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2
所以,为了回答你的问题,系统上的大多数数据包可能已经出去eth0
(假设它是同一个子网)。
如果您设置alias
界面,eth0.1
(来自您的示例),任何程序都在所有接口上侦听,或者特别是eth0.1
将能够接收该IP地址上的数据包。
答案 1 :(得分:0)
要添加辅助IP地址,请在接口名称上使用:
分隔符。假设您已将eth0指定为11.22.33.44,并且您还希望它与11.22.33.55一起使用。那你就做:
ifconfig eth0:1 11.22.33.55
如果您不通过ip route
命令触摸路由,则11.22.33.55将无法用作出站接口,除非您正在回答指向11.22的请求.33.55本身,所以还有两件事要做。
第一种方法是将您的网络服务器的收听地址设置为11.22.33.55,而不是'任何' IP或11.22.33.44。这取决于您的网络服务器,如果是apache,请查看Listen directive。
第二件事,如果您使用域,则要设置DNS记录以指向11.22.33.55而不是11.22.33.44。请注意,因为根据目标端口,域名无法解析为其他地址,因此您需要为每个接口分配域名。另一种方法是直接使用IP地址11.22.33.44作为脚本内容,并仅使用域名作为网络服务器。
完成此操作后,您可以安全地使用tcpdump,iptables&物理和虚拟界面上的朋友。