在 Network 分类下的文章

使用 iperf 检测主机间网络带宽

参考资料:
https://blogs.oracle.com/mandalika/entry/measuring_network_bandwidth_using_iperf

背景介绍:
在调试网络时,经常需要检测两台主机间的最大带宽,我一直使用iperf命令,效果很好很准确,但发现有一些运维朋友并不知道有这个工具,于是打算写篇文章简单介绍一下。

具体操作:
操作系统:CentOS6.5 x86_64 Minimal
服务器:
192.168.10.11
192.168.10.12

[root@192.168.10.11 ~]# yum install http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
[root@192.168.10.11 ~]# yum install iperf

[root@192.168.10.12 ~]# yum install http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
[root@192.168.10.12 ~]# yum install iperf

[root@192.168.10.12 ~]# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)

[root@192.168.10.11 ~]# iperf -c 192.168.10.12
------------------------------------------------------------
Client connecting to 192.168.10.12, TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.10.11 port 23351 connected with 192.168.10.12 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 744 MBytes 624 Mbits/sec

[root@192.168.10.12 ~]# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.10.12 port 5001 connected with 192.168.10.11 port 23351
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 744 MBytes 623 Mbits/sec

1 Comment

TCP/IP 协议图

背景
工作了这么些年,说实话对于TCP/IP协议一直没有真正的理解。
惭愧之余,贴一张很棒的协议图,以供自己查阅,资料来源:http://www.colasoft.com.cn/download/protocols_map.php

介绍
中英文对照:
每一个协议缩写用英文,全称用中文,这样非常容易理解。简洁明了,如TCP协议,协议图上标注的是TCP 传输控制协议。

合理的协议分组:
每个协议簇都是按照应用类型进行了分组调整,让读者更容易理解。

清晰的协议关系:
每个协议都可以通过流程线找到其上层协议或下层协议,非常便于了解协议之间的关系情况。

协议图
TCP-IP

, ,

No Comments

用最通俗的方式来理解几种常用的RAID磁盘阵列级别[原创]

我发现周围不少人在学习和理解RAID磁盘阵列的原理时,找了很多专业的资料来看,但是因为动手的机会比较少,因此看完以后还是似懂非懂,真正遇到实际的方案设计的时候,还是拿不定主意。
因此,我结合自己在过去几年中积累的实际项目经验,在这里通过最通俗的方式,来谈一谈我对几种常用的RAID磁盘阵列级别的理解,如有错误与不恰当之处,欢迎拍砖。

RAID0 是把两块物理盘组合成一块逻辑盘用,因此容量相当于等于二者之和,IO的读写也提高了(因为可以同时把数据分成两部分各写入两块物理盘中),但是安全性反而降低了,因为一旦其中一块盘坏了,整个逻辑盘就坏了;
总结:在不担心数据安全的情况下,RAID0是最佳的选择。

RAID1 是把两块物理盘做成完全相同的镜像,因此逻辑盘的容量仅相当于一块硬盘的大小,但是安全性却很高,任何其中一块盘坏掉,数据都没有影响,冗余程度1/2,找一块新盘换上去数据又可以自动重构,缺点就是牺牲了容量,以及降低了数据写入的IO(因为必须把每一份数据同时都写入到两块硬盘中);
总结:在优先考虑数据安全且不需要保证磁盘性能与容量的情况下,RAID1是最佳选择。

RAID5 是把三块物理盘做成一个逻辑盘用,其中有近一块盘的容量用来做奇偶校验,因此容量仅相当于两块硬盘,但支持其中一块硬盘损坏,冗余程度1/3,整体性能相当于介于RAID0与RAID1之间,属于性价比较高的一种RAID;
总结:在经济情况不太充裕的情况下既想保障磁盘性能与容量又想保障数据的安全,RAID5是最佳的选择。

RAID10 则由RAID0与RAID1组合构成,因此需要四块物理盘来构成一个逻辑盘,它集合了RAID0和RAID1的优点,既提升了IO的读写速度,又保障了数据的安全,可以有两块物理盘损坏,冗余程度1/2,缺点嘛显而易见,就是成本很高,且牺牲了两块硬盘的容量。
总结:在不差钱的情况下,RAID10是最佳的选择。

最后,需要提到的一点是,在超过2-4块硬盘做RAID的时候,其实也是由以上这种基础单元构成的,比如我拿16块硬盘做RAID10,就是由4组4块硬盘所构成的RAID10来实现的。

3 Comments

解决Cisco VPN Client Reason 442: Failed to Enable Virtual Adapter

我发现最近在家里通过Cisco VPN Client 连接到VPN服务器的时候,客户端经常报错。

Reason 442: Failed to Enable Virtual Adapter

折腾很久,国内的国外的网站搜遍了也未能找到原因,终于最后自己偶然发现了解决这个问题的办法,那就是 “开始” – “运行” – “services.msc” – 停止 “Internet Connection Sharing (ICS)”,话说这类问题虽没什么技术含量,但遇到的时候真的很让人郁闷。

13 Comments

一次诡异的服务器网络问题处理

今天,出现一个很奇怪的问题,就是有一台服务器与其他服务器在传输文件的时候,速度只有50KB每秒,而之前则一直是10MB每秒,因为它们所处的网络环境相当于在同一个局域网里面。
鉴于只有这一台服务器有这个问题,因此对网络等一番检测之后,还是决定登录到该服务器上找一找系统方面的原因,最后,我们发现了是服务器网卡的自动协商功能被关闭了,在重新开启了之后,速度就恢复到以前了。

下面是相关的操作日志,供大家参考:
1. 查看 eth0 网络接口的参数信息
# ethtool eth0
----------------------------------------------------------------
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: Not reported
Advertised auto-negotiation: No
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: umbg
Wake-on: g
Current message level: 0x00000003 (3)
Link detected: yes
----------------------------------------------------------------
可以看到网卡的自动协商是关闭的: Auto-negotiation: off

2. 检查 eth0 网络接口的配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
结果发现该配置文件中存在以下一行配置信息:
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
将其注释掉。

3. 开启网卡的自动协商功能
# ethtool -s eth0 autoneg on

4. 检查自动协商功能是否成功开启
# ethtool eth0
--------------------------------------------------------------
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: umbg
Wake-on: g
Current message level: 0x00000003 (3)
Link detected: yes
--------------------------------------------------------------
可以看到网卡的自动协商是开启的: Auto-negotiation: on

5. 检查确认服务器网络传输速度是否恢复
# wget speedtestsa.com/100_MB.BIN (具体需要下载的文件地址请根据实际情况进行设置)
--------------------------------------------------------------
--2011-07-22 01:52:18-- http://speedtestsa.com/100_MB.BIN
Resolving speedtestsa.com... 69.174.244.235
Connecting to speedtestsa.com|69.174.244.235|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 104857600 (100M) [application/octet-stream]
Saving to: `100_MB.BIN.8'
35% [=============================> ] 37,164,108 8.22M/s eta 13s
--------------------------------------------------------------
速度为8.22M每秒,已经成功恢复到了之前的状态。

最后,通过更进一步的了解,发现之所以之前关闭了网卡的自动协商并以强行以百兆模式运行,是想做一些网络方面的优化,但是在托管商更换或更新了交换机设置以后,交换机端的自动协商功能可能会与网卡的百兆模式无法成功匹配,因此造成数据传输问题。
其实这一类优化在目前来说,没有太大的意义,因为大部分的网络环境至少都是百兆,很多都已经是全千兆了。

1 Comment

超五类线与六类线的线序以及特点

整理了一下,算是一个笔记,大家也可以参考下,过去我在做系统集成项目时,这些东西搞的还算明白。

超五类线线序:
568A:1绿白,2绿,3橙白,4蓝,5蓝白,6橙,7棕白,8棕
568B:1橙白,2橙,3绿白,4蓝,5蓝白,6绿,7棕白,8棕

特点:
4根线相互缠绕交叉,仅4根线传输数据;
因此像一些劣质的网线如艾普的,和劣质的交换机网卡都只能看到四芯,为了节约成本;
超五类线在10米以内达到千兆是没问题的;
568B的线序比568A的线序更常用一些。

六类线线序:
(A端是568A)
A端:1绿白,2绿,3橙白,4蓝,5蓝白,6橙,7棕白,8棕
B端:1橙白,2橙,3绿白,4棕,5棕白,6绿,7蓝白,8蓝
(A端是568B)
A端:1橙白,2橙,3绿白,4蓝,5蓝白,6绿,7棕白,8棕
B端:1绿白,2绿,3橙白,4棕,5棕白,6橙,7蓝白,8蓝

特点:
8根线相互缠绕交叉,所有线都传输数据;
是专门用于千兆网络传输的;
线硬且粗,中间有十字的塑料骨架;
网线水晶头里呈错层排列,上面四根,下面四根,不像超五类线的头子是八根都在一排的;

其它:
所谓直通线,就是两端线序相同都为568A或568B,交叉线就是两端线序不同,一端为568A,另一端为568B;
目前一般都用直通线,交叉线用于以前网卡没有自动翻转功能的时候,在两台机器对连等情况下有用;
现在所有的网卡都带有自动翻转的功能了,因此都不需要用交叉线了。

No Comments

各类光纤接口类型的区别与图示

光纤的接口比较复杂,在项目的过程中有时候确实很容易弄错,为了方便自己和大家的工作,特整理了以下资料:

光纤接头类型主要可以分为以下几种:
FC 圆型带螺纹(配线架上用的最多)
ST 卡接式圆型
SC 卡接式方型(光纤收发器用的较多)
LC 卡接式方形,比SC略小(光纤交换机用的较多)
MT-RJ 方型,一头光纤收发一体

如下图所示:

光纤模块主要分为以下两种,一般都支持热插拔:
GBIC(Giga Bitrate Interface Converter)使用的光纤接口多为SC或ST型
SFP小型封装GBIC,使用的光纤为LC型

光纤单模和多模的标识:
L:表示单模,波长1310纳米;
LH:表示单模长距,波长1310纳米,1550纳米;
SM:表示多模,波长850纳米;
SX/LH:表示可以使用单模或多模光纤;
单模光纤的传输距离要比多模光纤远。

下面,是一些接线图,方便大家查看:



另外,如下图所示,在表示尾纤接头的标注中,我们常能见到“FC/PC”,“SC/APC”等,其含义如下:

“/”前面部分表示尾纤的连接器型号:
“SC”接头是标准方型接头,采用工程塑料,具有耐高温,不容易氧化优点。传输设备侧光接口一般用SC接头
“LC”接头与SC接头形状相似,较SC接头小一些。
“FC”接头是金属接头,一般在ODF侧采用,金属接头的可插拔次数比塑料要多。

“/”后面表明光纤接头截面工艺,即研磨方式:
“PC” 微球面研磨抛光,在电信运营商的设备中应用得最为广泛,其接头截面是平的,。
“UPC”的衰耗比“PC”要小,一般用于有特殊需求的设备,一些国外厂家ODF架内部跳纤用的就是FC/UPC,主要是为提高ODF设备自身的指标。
“APC”呈8度角并做微球面研磨抛光,可改善电视信号的质量。

No Comments

子网掩码的定义与计算[原创总结]

按IP协议的子网标准规定,每一个使用子网的网点都选择一个32位的位模式,若位模式中的某位置1,则对应IP地址中的某位为网络地址(包括网络部分和子网掩码号)中的一位;若位模式中的某位置0,则对应IP地址中的某位为主机地址中的一位。

例如二进制位模式:11111111 11111111 11111111 00000000中,前三个字节全1,代表对应IP地址中最高的三个字节为网络地址;后一个字节全0,代表对应IP地址中最后的一个字节为主机地址。为了使用的方便,常常使用“点分整数表示法”来表示一个IP地址和子网掩码,例如C类地址子网掩码(11111111 11111111 11111111 00000000)为:255.255.255.0。

IP协议关于子网掩码的定义提供一定的灵活性,允许子网掩码中的 “0”和“1”位不连续。但是,这样的子网掩码给分配主机地址和理解寻径表都带来一定困难。并且,极少的路由器支持在子网中使用低序或无序的位,因此在实际应用中通常各网点采用连续方式的子网掩码,像255.255.255.64和255.255.255.160等一类的子网掩码不推荐使用。

所以,一般可用来使用的掩码数值就只有以下了:
256-(128 64 32 16 8 4 2 1)=128,192,224,240,248,252,254,255。

这里面的(1 2 4 8 16 32 64 128)是我们的8个不同位数的1所计算出来的数值,可以用来作为主机数区间,意思就是,如果你需要60个IP,那么你就必须选择32-64的区间,那么掩码就是256-64=192,就是8+8+8+2=26位掩码了,即前24位+192的(11 00 0000 )的2位1。

关于位数的计算有个简单的方法,通过按照下面的排列来计算:
128 64 32 16 8 4 2 1
192就是128+64,那么就是2位1了咯,同样224=128+64+32,所以224就是3位1了咯,依次推理240就是4位1了。

通过上面的方法,可以根据所需的IP个数来快速的选择所需的掩码。

另外,很多时候需要通过已知的掩码,来计算IP所在的子网范围,方法其实也很简单:
比如,已知网络地址是 10.10.10.90/28,那么它的子网掩码就8+8+8+4,对应的掩码地址就是 256 - 16(2的4次方) = 240。
将0-255以每16个地址来划分出区块,90这个IP位于 16*5=80 与 16*6=96之间。
而80为全0子网地址,95为全1广播地址,因此IP范围就是 10.10.10.81 - 10.10.10.94。

这里,再给大家分享一个Windows上的图形小工具,可以完成上面的计算。
下载地址:http://heylinux.com/wp-content/uploads/2009/12/SubnetMask.zip
subnetmask

2 Comments

CISCO3560 VLAN配置实例[原创规范]

1.注意事项
1.1.交换机启动需要大约4-5分钟;
1.2.网线插入交换机接口从黄变为绿需要大约1-2分钟,即进入正常工作模式;
1.3.建议使用XP系统进行操作,2003默认没有安装超级终端,需要使用安装光盘添加该工具才有;
1.4.请严格按照以下步骤进行,背景灰色字体为交换机显示信息,蓝色字体为配置命令。

2.准备工作
先保持交换机断电状态;
使用调试串口线连接笔记本电脑的串口与交换机背面的CONSOLE接口;

打开超级终端:
开始-所有程序-附件-超级终端;

配置超级终端:
名称-cisco
选择com1或com2(请依照实际情况进行选择)
修改每秒位数为9600
应用-确定-回车;

3.初始配置
给交换机通电;

片刻后会看到交换机的启动信息,直到出现以下配置选项:
Would you like to terminate autoinstall? [yes]: no
Would you like to enter the initial configuration dialog? [yes/no]:no
Would you like to terminate autoinstall? [yes]: no

4.出现命令窗口
Switch>

5.备份出厂配置
Switch>en 进入特权模式
Switch#copy running-config sfbak-config
Destination filename [sfbak-config]?回车

片刻后会出现:
1204 bytes copied in 0.529 secs (2276 bytes/sec)
表示文件备份成功。

6.配置账号密码
Switch#configure terminal 进入配置子模式
Switch(config)#enable password cisco 设置PASSWORD密码为cisco
Switch(config)#enable secret cisco 设置SECRET密码为cisco
Switch(config)#exit

片刻后会出现:
00:11:26: %SYS-5-CONFIG_I: Configured from console by console
表示将配置保存到了内存中,在后面的配置过程中会出现类似的信息,属于正常现象。

7.创建VLAN
Switch#show vlan 查看VLAN信息,默认有一个VLAN 1,并且所有端口都属于它
Switch#vlan database 进入VLAN子模式

片刻后会出现:
% Warning: It is recommended to configure VLAN from config mode,
as VLAN database mode is being deprecated. Please consult user
documentation for configuring VTP/VLAN in config mode.
属于正常的警告信息。

Switch(vlan)#vlan 2 创建VLAN2

片刻后会出现:
VLAN 2 added:
Name: VLAN0002
表示VLAN创建成功。

Switch(vlan)#vlan 3 创建VLAN3
Switch(vlan)#exit

8.为VLAN设置IP地址
为VLAN2设置IP地址

Switch#configure terminal 进入配置子模式
Switch(config)#interface vlan 2 配置IP,VLAN2
Switch(config-if)#ip address 133.37.125.5 255.255.255.0 设置交换机IP(具体IP请依照实际情况设置)
Switch(config-if)#exit

为VLAN3设置IP地址
Switch(config)#interface vlan 3 配置IP,VLAN3
Switch(config-if)#ip address 192.168.1.5 255.255.255.0 设置交换机IP(具体IP请依照实际情况设置)
Switch(config-if)#exit

9.为VLAN划分交换机接口
配置1-12号电口为VLAN2
Switch(config)#interface range fastEthernet 0/1 - 12 进入F0/1 到 F0/12
Switch(config-if)#Switchport mode access 设成静态VLAN访问模式
Switch(config-if)#Switchport access vlan 2 将此口分给VLAN2
Switch(config-if)#exit

===================

配置13-24号电口为VLAN3
Switch(config)#interface range fastEthernet 0/13 - 24 进入F0/13 到 F0/24
Switch(config-if)#Switchport mode access 设成静态VLAN访问模式
Switch(config-if)#Switchport access vlan 3 将此口分给VLAN3
Switch(config-if)#exit

===================

配置1号光口为VLAN-2
Switch(config)#interface GigabitEthernet 0/1 进入G0/1
Switch(config-if)#Switchport mode access 设成静态VLAN访问模式
Switch(config-if)#Switchport access vlan 2 将此口分给VLAN2
Switch(config-if)#exit

===================

配置2号光口为VLAN-3
Switch(config)#interface GigabitEthernet 0/2 进入G0/2
Switch(config-if)#Switchport mode access 设成静态VLAN访问模式
Switch(config-if)#Switchport access vlan 3 将此口分给VLAN3
Switch(config-if)#exit
Switch(config)#exit

10.关闭VLAN1
Switch#configure terminal 进入配置子模式
Switch(config)#interface vlan 1 配置VLAN1
Switch(config-if)#shutdown 关闭VLAN1
Switch(config-if)#exit
Switch(config)#exit

Switch#show interface fastethernet0/1 status 查看F0/1网口状态
Switch#show interface fastethernet0/1 查看F0/1网口详细配置
Switch#show running-config 查看全局配置

11.配置默认网关
Switch#configure terminal 进入配置子模式
Switch(config)#ip default-gateway 133.37.125.4
Switch(config)#exit

12.设置使可以远程telnet登陆
Switch#configure terminal 进入配置子模式
Switch(config)#line vty 0 4
Switch(config-line)#password cisco
Switch(config-line)#login
Switch(config-line)#exit
Switch(config)#exit

13.保存当前配置
Switch#copy running-config startup-config
Destination filename [startup-config]?回车

片刻后出现:
Building configuration...
[OK]
表示当前配置保存成功。

14.交换机配置情况图示
配置完成,目前整个交换机配置情况如下:
ciscovlan

15.其它相关知识
交换机与交换机/路由器间级联通信:
当级联的设备端口设置了trunk或划分了VLAN等情况,可能需要修改级联端口的工作模式为trunk模式才能实现相互之间的通信。

如果是与电口级联,可以修改1号网口为trunk工作模式,使用该接口进行级联:
Switch#configure terminal 进入配置子模式
Switch(config)#interface fastethernet0/1 进入F0/1口
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk 设成TRUNK口
Switch(config-if)#switchport trunk allowed vlan all 允许所有VLAN从此口通过
Switch(config-if)#exit
Switch(config)#exit

如果是与光纤接口级联,可以修改1号光纤接口为trunk工作模式,使用该接口进行级联:
Switch#configure terminal 进入配置子模式
Switch(config)#interface GigabitEthernet 0/1 进入G0/1
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk 设成TRUNK口
Switch(config-if)#switchport trunk allowed vlan all 允许所有VLAN从此口通过
Switch(config-if)#exit
Switch(config)#exit

执行后请按照第13步中的描述保存当前配置。
WEB方式检查交换机状态:
如果需要对交换机的状态进行实施查看,可以通过
URL:http://192.168.1.5 或 http://133.37.125.5
账号:admin
密码:cisco
登陆后进行查看。

恢复交换机出厂设置:
Switch>en 进入特权模式
Switch#write erase
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm]回车
[OK]
Erase of nvram: complete
00:36:19: %SYS-7-NV_BLOCK_INIT: Initialized the geometry of nvram

Switch# reload
Proceed with reload? [confirm]回车
00:36:59: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload Command.

片刻之后,交换机会进行重启,并在重启后恢复为出厂设置。

远程通过telnet登陆交换机终端:
将本机IP设置为与交换机VLAN2或VLAN3同一个网段;
开始-运行-cmd;
执行telnet 133.37.125.5 或 telnet 192.168.1.5 即可。

, ,

No Comments

在Linux上基于源地址路由实现电信网通双线

想要通过普通的静态策略路由来实现电信网通双线基本上是不可能的,因为那将需要维护相当大的一个IP段的数据库,而且还需要随时更新才能保证效果。
后来听前辈们说,可以采用基于源地址路由的方式来处理,让进来的数据,从哪个IP进来就从哪个IP返回。
下面就是一个在生产中得到了实际应用的脚本:

 #!/bin/bash
##
## CNC_RULE AND CTC_RULE from /etc/iproute2/rt_tables
## echo 200 cnc >> /etc/iproute2/rt_tables
## echo 201 ctc >> /etc/iproute2/rt_tables
##

CTC_DEVICE="eth0"
CTC_RULE="ctc"
CTC_NETWORK="10.10.10.0"
CTC_GATEWAY="10.10.10.1"
CTC_IPADDR="10.10.10.2"

CNC_DEVICE="eth1"
CNC_RULE="cnc"
CNC_NETWORK="20.20.20.0"
CNC_GATEWAY="20.20.20.1"
CNC_IPADDR="20.20.20.2"

ACTION="add"

if [ $# -ne 0 ]; then
if [ "$1" != "add" -a "$1" != "del" ]; then
echo "error"
else
ACTION="$1"
fi
fi

ip route ${ACTION} ${CNC_NETWORK} dev ${CNC_DEVICE} src ${CNC_IPADDR} table ${CNC_RULE}
ip route ${ACTION} default via ${CNC_GATEWAY} table ${CNC_RULE}

ip route ${ACTION} ${CTC_NETWORK} dev ${CTC_DEVICE} src ${CTC_IPADDR} table ${CTC_RULE}
ip route ${ACTION} default via ${CTC_GATEWAY} table ${CTC_RULE}

ip rule ${ACTION} from ${CNC_IPADDR} table ${CNC_RULE}

ip rule ${ACTION} from ${CTC_IPADDR} table ${CTC_RULE}

ip route add default via ${CTC_GATEWAY}

ip rule add to 200.200.0.0/16 table cnc

在执行脚本之前,先执行以下命令:
echo 200 cnc >> /etc/iproute2/rt_tables
echo 201 ctc >> /etc/iproute2/rt_tables

最后的 ip rule add to 200.200.0.0/16 table cnc 相当于是添加了一个例外,让200.200.0.0/16这个段的直接从cnc出去。

No Comments