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地址都有机会接受外来的传入连接。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)