一个网卡设置多个IP地址的方法是什么?

一个网卡设置多个IP地址的方法是什么?,第1张

1、在电脑的右下角联网的图标,右键选择“打开网络和interner设置”。

2、在设置界面进入“网络和共享中心”。

3、网络和共享中心选择“更改适配器设置”。

4、选择网线连接的网卡右键选择“属性”。

5、在属性界面选择“interner协议版本4”,点击“属性”。

6、interner协议版本4设置中,点选“使用下面的IP地址”,输入IP地址。

7、不要着急点击“确定”,此时点击“高级”。

8、在高级TCP/IP属性里面,点击IP地址下面的“添加”按钮。

9、d出窗口输入IP地址,输入子网掩码,点击“添加”。

10、在高级TCP/IP属性界面可以看到刚刚添加的IP地址,需要更多就一次添加,点击“确定”即可。

11、后面的步骤不能点击右上角“X”关闭窗口,需要点击“确定”关闭窗口。

先介绍下装备:PT机器装的是UBUNTU系统,客户端是transmission.

因办公室分配的网段中有多个IP地址都未被占用(每个IP地址的上下行带宽均为10Mbps),于是萌生了如何利用这些IP地址来加快上传下载速度。

经过一番实践,最终成功。现将方法贡献出来:

首先是需要配置网卡使其有多个IP地址,这可通过修改

/etc/network/interfaces 文件来达到,如下所示:

# 第一个IP

auto eth0

iface eth0

inet static

address xxx.xxx.xxx.xxx #此处换成可用的IP地址

netmask xxx.xxx.xxx.xxx

#子网掩码

gateway xxx.xxx.xxx.xxx #网关

# 第二个IP

auto eth0:0

iface

eth0:0 inet static

address xxx.xxx.xxx.xxx #此处换成可用的IP地址

netmask

xxx.xxx.xxx.xxx #子网掩码

gateway xxx.xxx.xxx.xxx

#网关

以此类推,每个IP只许修改eth0:(x)以及IP地址。

接下来是要修改路由信息以便利用上全部的IP地址。以两个IP地址为例,第一个IP地址负责网段【0.0.0.0-127.255.255.255】,第二个IP地址负责【128.0.0.0-255.255.255.255】,这可以通过如下命令实现:

ip

route add 0.0.0.0/1 dev eth0 src (ip地址1)

ip route add 127.0.0.0/1 dev eth0

src

(ip地址1)

设置好这些以后,当BT客户端要连接其他用户的时候,首先判断该用户的ip地址是在哪个范围,并以此来决定通过哪个本地IP来连接。这样就利用上了两个ip地址。

======================高级部分分割线==============================

通过上面的设置,只能对传出连接(outgoing)进行划分,但是对传入(incoming)连接不适用。这里需要讲下BT的运行原理。当启动一个BT任务时,客户端要首先向tracker发送HTTP请求其他用户的IP地址,同时通过这个HTTP请求,tracker也知道了本地客户端的IP地址和监听端口号,当其他用户向tracker请求时,tracker会将本地IP和端口发送给该用户,然后该用户会试图通过IP和端口来连接本机的客户端。这样一来就会有个问题:假设tracker的地址是在第一个网段中,即在(0.0.0.0-127.255.255.255)范围中,那么根据路由设置会通过第一个IP地址发送出去,那么tracker只会将这个地址发送给其他用户,使得第二个ip地址不会有传入连接,只能主动的去连接他人。

解决办法:通过路由和iptables,示例如下

报告第一个IP地址:

ip

route change (tracker地址)dev eth0 src (本地第一个ip)

iptables -t nat -D POSTROUTING

1

iptables -t nat -A POSTROUTING -d (tracker地址)-j SANT --to-source

(本地第一个ip)

报告第二个IP地址:

ip route change (tracker地址)dev eth0 src

(本地第二个ip)

iptables -t nat -D POSTROUTING 1

iptables -t nat -A POSTROUTING

-d (tracker地址)-j SANT --to-source

(本地第二个ip)

这两个命令需要周期性的交替运行,那么当向tracker报告数据的时候,就会轮流将本地的两个IP地址告诉tracker.

交替运行可以写一个脚本,用switch-case即可,然后周期性运行该脚本即可。因为BT客户端向tracker报告数据大概是半小时一次,这样有点慢,我修改了transmission的代码,5分钟报告一次。然后脚本也是5分钟运行一次。这样一来每次都向tracker汇报了不同的IP地址,那么所有的IP地址都有机会接受外来的传入连接。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11933561.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存