2026年6月

1、打开“网络和共享中心”,选择“更改适配器设置”

点击“更改适配器设置”

小贴士:如何快速进入“网络和共享中心”?点击电脑右下角的网络图标,然

后再点击“进入网络和共享中心”就可以啦。

2、在“菜单栏”点击“文件”,然后选择“新建传入连接”(这一点很重要)

小贴士:什么?我的电脑怎么没有菜单栏?别着急,这个真的可以有,按一下

键盘上的Alt键看看效果,是不是很神奇的出现了……

3、选择允许使用VPN连接到本机的帐户,可以从列表中勾选,也可以“添加用户”

选择允许VPN连接到本机的账户

选择其他用户连接VPN的方式

接下来选择其他用户连接VPN的方式,一般来说是选择“通过Internet”。当然,如果显示的连接方式是多项的话,那么请根据自己的需要请选择正确的方式。

4、这一步就到了设置网络参数环节了,如果对方连接后可以使用本地网络的DHCP服务器,那么可以跳过此设置。如果本地网络没有DHCP服务器的话就要先进行一下设置了,具体步骤如下:

选中“Internet 协议版本 4(TCP/IP)”, 点击“属性”按钮,选择“指定IP地址”(这里是根据用户自身的IP地址而设定,设置一个没有被使用的IP段即可),设置后请按确定, 然后点击“允许访问”就大功告成了。

5、到这里VPN服务器已经架设完毕了,其他用户已经可以利用上面的帐号以及你的IP地址通过VPN连接到你的网络了。

关于防火墙和内网用户的两点特别说明:

1.如果你有防火墙请允许1723和1701端口。

2.如果你是内网用户请在路由器上做1723和1701端口的映射,一般做1723就行了。

2018.04.03

PVID和VID彻底研究(下)
——一个故障实例的分析

某网组网结构如下图所示,某路由器下挂S3526,S3526下挂S3026,S3026下面接了4个用户:

其中S3526的接口1上接路由器,打tag标记;接口2接S3026,打tag标记,PVID为1。
S3026的配置是这样的:
S3026的接口1上接S3526,打tag标记,属于VLAN 2、3、4、5,PVID为2;
接口2接用户2,属于VLAN 2,PVID为2;
接口3接用户3,属于VLAN 3,PVID为3;
接口4接用户4,属于VLAN 4,PVID为4;
接口5接用户5,属于VLAN 5,PVID为5;

故障现象为:用户2的用户无法上网,而其它的用户可以上网;如果将S3026的上连口的PVID值配置为3,那么用户3的用户无法上网,其它的用户可以上网;
最后我们将S3026的上连口的PVID值设置为1,4个用户的用户就都可以上网了。

根据前两篇的结论,我们发现,接口1的PVID=2,故从VLAN 2来的包从接口1出去后不打tag,而此时S3526的接口2的PVID=1,收到未标记得包后,将其送到VLAN 1里。原本VLAN 2的包送到了错误的VLAN里,所以VLAN 2下的用户上不了网。

当我们将S3026接口1的PVID设为1时,它不等于所属任何VLAN地VID,送出去的包都打了tag,此时S3526能根据tag将接受到的包送到正确的VLAN里,故所有VLAN下用户都能上网了。

我们可以补充一个实验,将S3026的接口1和S3526的接口2的PVID都设为2,此时所有用户都能正常上网,原因是这样的:S3026将VLAN 2的包不打tag的从接口1送出去,S3526的接口2收到的包有打tag的(VLAN 3、4、5),也有不打tag的(VLAN 2)。S3526的接口2对于打tag的包,能够发往正确的VLAN;不打tag的包,根据接口2的PVID值,送到VID=PVID的VLAN里,而此时接口2的PVID=2,也恰巧正确的送到了VLAN 2里。所有VLAN的包在跨设备后,通过不同的方式,都正确的发往所在的VLAN,于是所有用户都能正常上网,只不过VLAN 2和其它的VLAN途径有点不同。可见,设备两端的PVID一致时,在解决问题的同时,也把潜在问题给隐藏起来。例如在把S3526隔接为其它设备时,可能会又造成某个VLAN的用户上不了网,而此时故障原因不容易找到。

我们来总结一下,交换机的PVID和VID给VLAN配置带来了灵活性,同时也带来了一些麻烦,配置的不好可能带来问题很隐蔽。所以我们以后在配置VLAN时要注意以下几点:
1、 对于untag端口,PVID要和所属VLAN的VID一致;
2、 对于tag端口,PVID要不同于所有所属VLAN的VID;
3、 两台设备互联时,两端接口的PVID保持一致时,有弊也有利;

pvid的意思就是说,一个ip包进入交换机端口的时候,如果没有带tag头,且该端口上配置了pvid,那么,该数据包就会被打上相应的tag头! 如果进入的ip包已经带有tag头(vlan数据)的话,那么交换机一般不会再增加tag头,即使是端口上配置了pvid号;pvid (端口vlan id号) 是非标记端口的vlan id 设定。当非标记数据包进入交换机,交换机将检查vlan设定并决定是否进行转发。
tag是数据包中一个四字节数据,其包含数据包的vlan id及优先级信息。若数据包中包含tag信息,则其将跟随数据包在交换机间进行交换。并在不同设备中保存此标记信息。
若某一端口在vlan设定中被指定为非标记端口untagged port, 所有从此端口转发出的数据包上都没有标记(untagged)。若有标记的数据包进入交换机,则其经过非标记端口时,标记将被去除。因为目前众多设备并不支持标记数据包,其也无法识别标记数据 包,因此,需要将与其连接的端口设定为非标记。
若某一端口在vlan设定中被指定为标记端口tagged port, 所有从此端口转发出的数据包上都将有标记 (tagged)。若有非标记的数据包进入交换机,则其经过标记端口时,标记将被加上。此时,其将使用在ingress 端口上的pvid设定作为增加的标记中的vlan id号。
PVID通常代表端口ID,VID代表VLANID,在没有出现802.1Q前,都是采用基于MAC或端口的VLAN, 推出基于标记的802.1Q后才出现VID,如果划分基于端口的VLAN时,只需配置PVID就可以了,如 果要划分基于802.1Q的加标记的VLAN时,就需配置VID了,综合起来说,一个端口可以的一个PVID,但可属于多个VID,交换机PVID默认为 1.

情况列举 Switch收发 Switch对标记的处理 remark
Access (接收) Tagged = PVID 不接收 注:部分高端产品可能接收。
Access (接收) Tagged =/ PVID 不接收 注:部分高端产品可能接收。
Access (接收) Untagged 接收 增加tag=PVID 从PC
Access(发送) Tagged = PVID 转发删除tag
Access (发送) Tagged =/ PVID 不转发 不处理
Access (发送) Untagged 无此情况 无此情况 无此情况
Trunk(接收) Tagged = PVID 接收 不修改tag
Trunk (接收) Tagged =/ PVID 接收 不修改tag
Trunk (接收) Untagged 接收 增加tag=PVID
Trunk (发送) Tagged = PVID If Passing then 转发 删除tag
Trunk (发送) Tagged =/ PVID If Passing then 转发 不修改tag
Trunk (发送) Untagged 无此情况 无此情况 无此情况(注)
Hybrid(接收) Tagged = PVID 接收不修改tag 对端是trunk
Hybrid (接收) Tagged =/ PVID 接收 不修改tag 对端是trunk
Hybrid (接收) Untagged 接收 增加tag=PVID 类Trunk
Hybrid (发送) Tagged = PVID Tag 和untag 中列出的vlan可以passing 看Tag项和untag项
Hybrid (发送) Tagged =/ PVID Tag 和 untag 中列出的vlan可以passing看Tag项和untag项
Hybrid (发送) Untagged 无此情况 无此情况 无此情况(注)

我来解释一下
收报文:
Acess端口1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)
发报文:
Acess端口: 1、将报文的VLAN信息剥离,直接发送出去
收报文:
trunk端口: 1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该 VLAN的数据进入:如果可以则转发,否则丢弃
发报文:
trunk端口: 1、比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送
收报文:
hybrid端口:
1、收到一个报文
2、判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃
发报文:
hybrid端口:
1、判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag, 哪些VLAN是tag)
2、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送"

PVID和VID彻底研究(上)
——PVID的作用及和VID的区别
Pvid和Vid经常出现于二、三层交换机里,由于PVID和VID的设置不合理,造成VLAN划分变得混乱。本文就对PVID和VID进行了彻底研究。
pvid是交换机上的概念,说的是进入该端口的报文如果没有打vlan id就按pvid的值打上,
vid是报文上的vlan tag的意思.不是同个概念哦.

首先解释一下什么是PVID,PVID英文解释为Port-base VLAN ID,是基于端口的VLAN ID,一个端口可以属于多个vlan,但是只能有一个PVID,收到一个不带tag头的数据包时,会打上PVID所表示的vlan号,视同该vlan的数据包处理,所以也有人说PVID就是某个端口默认的vlan ID号。
默认情况下,简单的理解为:
ACCESS端口接PC,VID=PVID
TRUNK端口级联,VID=全部,PVID=1
简单的说,VID(VLAN ID)是VLAN的标识,定义其中的端口可以接收发自这个VLAN的包;而PVID(Port VLAN ID)定义这个untag端口可以转发哪个VLAN的包。比如,当端口1同时属于VLAN1、VLAN2和VLAN3时,而它的PVID为1,那么端口1可以接收到VLAN1,2,3的数据,但发出的包只能发到VLAN1中
在网上发现一个比较好的解释是:PVID并不是加在帧头的标记,而是端口的属性,用来标识端口接收到的未标记的帧。也就是说,当端口收到一个未标记的帧时,则把该帧转发到VID和本端口PVID相等的VLAN中去。为了验证这一说法,在S3026上做了以下实验:
在S3026上选两个端口,连接两台主机A、B,按照下表给端口设置不同的PVID和VID,用A ping B,并在B上抓包,记录实验结果。

注:结果中“有”表示抓包有ICMP的包(但ping不同),“无”表示没有,“通”表示可以ping通。VID为“无”表示该端口没有加到任何VLAN里。

所有结果为“无”的可以解释为:当端口1收到无标记的帧后,转发到VID=PVID=1的端口去,由于端口2无VID,故主机B收不到包。
所有结果为“有”的可以解释为:当端口1收到无标记的帧后,转发到VID=PVID=1的端口去,由于端口2的VID=1,故主机B收到ICMP的ECHO包,并发出ECHO Reply,由于此种情况下端口1的VID不等于1,故B的Reply并不能到达A。所以只有当两个端口的PVID和VID一样时,才可以互通。
到此我和大家一样有个疑问,一个VLAN干吗要设置PVID和VID两种标识呀?方正只有当PVID=VID时才能互通,只有一个不就够了吗?请往下看。

当所有VLAN都在一个交换机里时,确实只需要一个标识就够了,但跨设备的VLAN就需要另一种标识,这就是802.1Q的VLAN ID,即VID。
我们知道802.1Q的VLAN是在二层帧里加进VLAN标识,俗称打tag,而计算机不能解析这种二层的帧,所以交换机的一个端口在分到一个VLAN时有tag和untag属性,tag端口用来连接设备,untag端口用来连接计算机。Tag端口出去的帧一般都打上了tag,tag中的VID有的来自PVID,有的则来自其它tag端口中本身就含有tag的帧。
设备互连时,由tag中的VID决定了一个二层帧属于哪个VLAN,而计算机不具备打tag的功能,所以只有给连接计算机的端口添加一个属性,用来决定计算机发出的未标记的帧属于哪个VLAN,这个属性就是PVID。

我们来总结一下,S3026的VLAN转发的机制:在一个端口接收到一个无标记帧时,仅仅由该端口的PVID决定该帧转发到哪个VLAN中,即转发到VID=PVID的VLAN中。
到此我们理解了PVID的含义和作用,但似乎只有untag端口下的PVID才具有意义,而实际上tag端口也有PVID属性,PVID对tag端口会造成什么影响呢?请看中篇。
PVID和VID彻底研究(中)
——PVID值对TAG端口影响

在上篇,我们理解了PVID的含义和作用,本篇将通过实验,分别在S3026和S3526上研究PVID值对tag端口的影响。首先在S3026上进行实验,如下图所示:

我们将用到3个端口:Port 1、2、3,
各端口PVID设置如下:
Port 1:PVID = n
Port 2:PVID = 2
Port 3:PVID = 3
创建2个VLAN:
vlan2:VID = 2,包含Port 1 (tag)、Port 2 (untag)
vlan3:VID = 3,包含Port 1 (tag)、Port 3 (untag)
将3台主机A、B、C分别接在Port 1、2、3上,
分别用主机B、C去ping主机A,在主机A上抓包。

实际上tag端口接计算机是没有意义的,因为计算机无法解析打了tag的二层包文,但通过抓包软件可以抓到这种二层报文,通过这种方法可以进行分析。
实验时主机B和C可以是同一台计算机,只不过接到不通端口上,为了方便说明,将它们分开表示。
实验结果如下:
当n = 1时,可以看到来自B和C的包头前都含有802.1Q的Packet,B、C都不能ping通A(ping不通的由于主机A无法解析打了tag的二层包);
当n = 2时,可以看到来自B的包头前不含有802.1Q的Packet,而来自C的有,仅B可ping通A;;
当n = 3时,可以看到来自C的包头前不含有802.1Q的Packet,而来自B的有,仅C可ping通A;;

通过分析,得出S3026转发机制大致如下:
1、由主机B发出的包到接口2(由于此时B不知道A的MAC地址,会发出arp广播包)
2、根据接口2的PVID的值(PVID=2),发往VID=2的VLAN中的所有接口
3、接口1属于VLAN 2,所以接口1能收到此包
4、此时如果VLAN 2中接口1是tag端口,则将接口1的PVID值和VID进行比较:
如果PVID=VID则从接口1出去的包不打tag
如果PVID!=VID则从接口1出去的包打tag

由此可见,以前设为tag端口的PVID不起作用的说法在S3026上并不适用,正确的说法应该是:S3026上的某个VLAN中的tag端口,在转发在此VLAN中包时出去前,先检查该tag端口的PVID是否等于VID,若相等则发出的包不打tag,若不等则打上tag。

而在S3526上重复这个实验时,得到了不同的结果:在S3526上,只要某个VLAN中的端口设为tag端口,在转发来在此VLAN中包时出不管该端口的PVID值是多少,都打上tag。(不同厂家设备的实现方式不一样,需要注意!)
到此,我们都只是在单独一个设备上研究PVID的影响,下篇将结合一个故障实例,解释跨设备时PVID的影响。

将计算机作为NTP服务器,可以让其他设备以该设备为时间基准进行时间校正,比如我当前的应用是目标板上有时钟芯片进行计时,但是由于目标板面积有限,无法在板上布置纽扣电池,所以上电时需要利用时钟基准对其进行校正,因此利用一台计算机作为NTP服务器

NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。

1、启用 NTPServer。为此,请按照下列步骤操作:
a. 单击“开始”,单击“运行”,键入“regedit”,然后单击“确定”进入注册表;
b. 找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W32Time/TimeProviders/NtpServer
c. 在右窗格中,右键单击“Enabled”,然后单击“修改”;
d. 在“编辑 DWORD 值”的“数值数据”框中键入“1”,然后单击“确定”;

2、如果使用NTP Server,建议关闭NTP Client,找到并单击下面的注册表子项:
a.HKEY_LOCAL_MACHINE/SYSTEM/CurrentControl/SetServices/W32Time/TimeProviders/NtpClient
b. 在右窗格中,右键单击“Enabled”,然后单击“修改”;
c. 在“编辑 DWORD 值”的“数值数据”框中键入“0”,然后单击“确定”;

3、强制主机将自身宣布为可靠的事件源,从而使用内置的CMOS时钟
a. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
b. 在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”;
c. 在“编辑 DWORD 值”的“数值数据”框中键入“5”,然后单击“确定”;

4、按照以上步骤设置完成后,经测试windows系统的客户端均能正常同步NTP服务器的时间

5、但此时网络设备(如cisco、h3c交换机……)仍然不能正常同步NTP服务器时间,始终显示unsynchronized

6、经过一番捣腾后,发现修改注册表能解决以上问题:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\LocalClockDispersion值修改为0

7、禁用防火墙或设置例外,UDP 123端口。

8、运行 services.msc,将Windows Time服务设置成自动(延迟启动);
Win7下如果设置成自动,下次重启后此服务会被停止,原因不详。
经实验,延迟启动也并不需要用户登录即可启动。

9、重启动校时服务(在windows的cmd下输入如下指令):net stop w32time && net start w32time 。从cmd的返回可知ntp服务器是否打开。

设置完成。

题外话:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControl/SetServices/W32Time/TimeProviders/NtpClient/SpecialPollInterval为客户端同步时间,单位为秒。

2018.03.21

架设NTP服务器,是个相对比较简单的事情, 架设NTP服务器目的就是使各个工作站的时间统一,下面这篇文章主要给大家介绍了CentOS 7中搭建ntp时钟服务器的步骤,需要的朋友可以参考借鉴,下面来一起学习学习吧。

前言

NTP 网络时间协议用来同步网络上不同主机的系统时间。你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间。而另一方面,一个 NTP 服务器会将它的时间和任意公共 NTP 服务器,或者你选定的服务器同步。由 NTP 管理的所有系统时钟都会同步精确到毫秒级。

在公司环境中,如果他们不想为 NTP 传输打开防火墙,就有必要设置一个内部 NTP 服务器,然后让员工使用内部服务器而不是公共 NTP 服务器。在这篇文章中,我们会介绍在CentOS 7 搭建ntp时钟服务器的步骤,一起来看看吧。

服务器 : 192.168.137.3
客户机: 192.168.137.6

1、 服务器端

centos7下首先确认服务器的防火墙、selinux关闭状态

#cat /etc/redhat-release 
CentOS Linux release 7.0.1406 (Core)

第一步 为服务器和客户机安装ntp ntpdate --默认已安装

#yum install ntp ntpdate -y

第二步 查找时间同步服务器

http://www.pool.ntp.org/zone/asia

第三步 编辑 /etc/ntp.conf

server time.windows.com
server s2m.time.edu.cn
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org
server 127.127.1.0 iburst  local clock 当外部时间不可用时,使用本地时间。
restrict 192.168.137.1 mask 255.255.255.0 nomodify  允许更新的IP地址段

第四步 启动ntp服务

systemctl start ntpd
systemctl enable ntpd.service 设置开机启动服务

第五步 验证服务

 #ntpq -p
 
  remote   refid  st t when poll reach delay offset jitter
==============================================================================
 211.138.200.209 .INIT.   16 u - 64 0 0.000 0.000 0.000
 ns.pku.edu.cn .INIT.   16 u - 64 0 0.000 0.000 0.000
 211.138.200.208 .INIT.   16 u - 64 0 0.000 0.000 0.000
 nipper.paina.jp .INIT.   16 u - 64 0 0.000 0.000 0.000
 send.mx.cdnetwo .INIT.   16 u - 64 0 0.000 0.000 0.000
*LOCAL(0)  .LOCL.   5 l 52 64 1 0.000 0.000 0.000
 
#date -R
Fri, 15 Jul 2016 15:28:34 +0800

2、客户端

第六步 远程客户端时间同步测试

#date 
Fri Jul 15 15:31:22 CST 2016
#ntpdate 192.168.137.3
15 Jul 15:33:04 ntpdate[63912]: step time server 192.168.137.3 offset -4.492463 sec

第七步 客户端设置计划任务,每天晚上1点同步时间

crontab -e
00 01 * * * root /usr/sbin/ntpdate 192.168.137.3; /sbin/hwclock -w  

格式 00 01 * 五个字符表示 分 时 日 月 年