VPN入门教程(非常详细),从零基础入门到精通,看完这一篇就够了

查看命令: (特权模式的命令,其他模式下前面加do 空格)

show crypto isakmp sa # 查看第一阶段状态(管理连接)

show crypto ipsec sa # 查看第二阶段状态(数据连接)

show crypto isakmp policy # 查看第一阶段的策略配置集

show crypto ipsec transform-set # 查看第二阶段的传输模式

sh run # 查看_running_-config文件,对做过路由器的所有配置都在这里

7、路由器的工作原理

如果同时给路由器的出外网端口配了NAT与VPN他们的执行顺序

内网 – to – 外网:路由数据到出外网端口 – 1NAT – VPN – 出去

8、实验 (点到点VPN -VPN隧道)

  • **实验1:**北京-上海-建立VPN隧道,并验证(中间的路由器不能配内网路由,通过对两边的路由器配置VNP实现通信)
  • **实验2:**在实验1的基础上,要求2个公司能上网,但不影响VPN隧道
  • **实验3:**在实验1和2的基础上,要求北京总部与广州新成立的分公司也建立VPN隧道
  • 实验4:(可选)在1-3的基础上,要求广州和上海之间不建立VPN隧道,但广州和上海可以互相安全的通信
实验1

步骤:
1)给PC和路由的接口配置ip

配置路由器端口IP命令

en # 进入特权模式

conf t # 进入全局配置模式

int Fa0/x​​ # 进入需要配置的端口

ip add IP 子网掩码 # 配置IP,如: ip add 30.1.1.254 255.255.255.0

no shut # 开启端口

2)给左右两边的路由器配置默认路由

命令:
ip route ip 子网掩码 下一跳IP # 给路由器配置一条静态路由

ip route ip 0.0.0.0 0.0.0.0 下一跳IP # 给路由器配置一条默认路由

配置左边路由器:

conf t # 进入全局配置模式

ip route 0.0.0.0 0.0.0.0 100.1.1.254

配置右边路由器:

conf t # 进入全局配置模式

ip route 0.0.0.0 0.0.0.0 200.1.1.254

3)配置VNP隧道

注意以下的命令如果和我的模拟器配置的IP和连接的端口一样就可以复制粘贴到软件上,不同的请根据自己的实际情况,修改IP和接口号

配置左边路由器的命令

en
conf t
crypto isakmp policy 1
encryption aes
hash sha
group 2
authentication pre-share
lifetime 3600
exit
crypto isakmp key zhangsan address 200.1.1.1

access-list 100 permit ip 192.168.0.0 0.0.255.255 172.16.0.0 0.0.255.255
crypto ipsec transform-set wentran esp-aes esp-sha-hmac

crypto map wenmap 1 ipsec-isakmp
match address 100
set transform-set wentran
set peer 200.1.1.1
exit

int fa0/0
crypto map wenmap

配置右边路由器的命令

en
conf t
crypto isakmp policy 1
encryption aes
hash sha
group 2
authentication pre-share
lifetime 3600
exit
crypto isakmp key zhangsan address 100.1.1.1

access-list 100 permit ip 172.16.0.0 0.0.255.255 192.168.0.0 0.0.255.255
crypto ipsec transform-set wentran esp-aes esp-sha-hmac

crypto map wenmap 1 ipsec-isakmp
match address 100
set transform-set wentran
set peer 100.1.1.1
exit

int fa0/0
crypto map wenmap

4)拿一台PC继续ping一下目标公司的PC,测试网络的连通性

**实验2:**在实验1的基础上,要求2个公司能上网,但不影响VPN隧道
步骤:
1)给连接服务器的路由器端口与服务器配置ip

配置路由器端口IP命令

en # 进入特权模式

conf t # 进入全局配置模式

int Fa0/x​​ # 进入需要配置的端口

ip add IP 子网掩码 # 配置IP,如: ip add 150.1.1.254 255.255.255.0

no shut # 开启端口

2)配置NAT让内网可以访问外网

配置北京总公司的路由器(端口号与IP要改成自己的)

定义内网端口

en # 进入特权模式

conf t # 进入全局配置模式

int fa0/1 # 进入需要设置的端口

ip nat inside # 将端口定义为内网端口

exit

定义外网端口

conf t # 进入全局配置模式

int fa0/0 # 进入需要设置的端口

ip nat outside # 将端口定义为外网端口

exit # 退到上一级

定义内部地址池

conf t # 进入全局配置模式

acc 101 deny ip 192.168.0.0 0.0.255.255 172.16.0.0 0.0.255.255 # 拒绝192.168开头网段访问172.16开头网段(不做IP源地址转换),注意配置这条命令不会影响实验一的VPN隧道,因为这里ACL表是101,实验1的是100,而且这里配置的表没有挂载到接口上,所以也不用担心192.168开头网段访问其他网段会被ACL技术干掉

acc 101 permit ip any any # 将所有的ip地址都加入101号地址池内,全部允许通过(除了92.168开头网段访问172.16开头网段的包)

do show ip access-list 表IP # 查看ACL表, 表IP 是可选的,不写就查看所有表

exit # 退到上一级

做PAT动态映射(映射到外网端口)

conf t

ip nat inside source list 100 int fa0/0 overload # 源ip地址如果在地址池1中,就允许使用f0/1接口上的公网ip地址做替换,然后再做端口转换

测试一下

配置上海分公司的路由器(端口号要改成自己的)

定义内部地址池 (其他命令都一样就是这里的IP要调换一下)

acc 101 deny ip 172.16.0.0 0.0.255.255 192.168.0.0 0.0.255.255 # 禁止172.16开头网段访问192.168开头网段(不做IP源地址转换)

acc 101 permit ip any any # 将所有的ip地址都加入101号地址池内,全部允许通过(除了92.168开头网段访问172.16开头网段的包)

测试一下

**实3:**在实验1和2的基础上,要求北京总部与广州新成立的分公司也建立VPN隧道
步骤:
1)给连接服务器的路由器端口与服务器配置ip

配置路由器端口IP命令

en # 进入特权模式

conf t # 进入全局配置模式

int Fa0/x​​ # 进入需要配置的端口

ip add IP 子网掩码 # 配置IP,如: ip add 10.1.1.1 255.255.255.0

no shut # 开启端口

2)给路由器的外网接口配置一条默认路由

conf t # 进入全局配置模式

ip route 0.0.0.0 0.0.0.0 120.1.1.254

exit # 退到上一级

do show ip route # 查看路由表

3)配置VNP隧道

配置自己路由器的命令

en
conf t
crypto isakmp policy 1
encryption aes
hash sha
group 2
authentication pre-share
lifetime 3600
exit
crypto isakmp key zhangsan address 100.1.1.1

access-list 100 permit ip 10.1.0.0 0.0.255.255 192.168.0.0 0.0.255.255
crypto ipsec transform-set wentran esp-aes esp-sha-hmac

crypto map wenmap 1 ipsec-isakmp
match address 102
set transform-set wentran
set peer 100.1.1.1
exit

int fa0/1
crypto map wenmap

配置北京的路由器

sh run # 查看_running_-config文件,对做过路由器的所有配置都在这里

配置思路分析:

(1)阶段一现在只有指向上海分公司的公网ip:200.1.1.1,我们现在需要让他多一条指向广州分公司的公网ip:120.1.1.1 ,阶段一其他的设置是可以共用的,所以阶段一配置命令如下:

en # 进入特权模式

conf t # 进入全局配置模式

crypto isakmp key zhangsan address 120.1.1.1 # 配置指向广州公网IP的共享密钥

do sh run # 查看_running_-config文件,检查一下刚才的配置

(2)阶段二之前配置是在ACL表号为100的表里面设置让192.168在访问上海分公司172.16的网段可以走VPN隧道,我们现在需要让他多一条允许192.168在访问广州分公司内网IP:10.1开头的网段也可以走VPN隧道,阶段二其他的设置也是可以共用的,所以阶段二配置命令如下:

conf t # 进入全局配置模式

access-list 102 permit ip 192.168.0.0 0.0.255.255 10.1.0.0 0.0.255.255 # 往北京的路由器的ACL表号为102的表添加一条让192.168.开头的网段ip可以访问10.1开头的网段条目,注意表号100的已经是给北京访问上海的使用了,不能再把条目添加都100表内

do sh run # 查看_running_-config文件,检查一下刚才的配置

(3)阶段三就是配置MAP映射表

conf t # 进入全局配置模式

crypto map wenmap 2 ipsec-isakmp # 进入MAP表配置模式。创建一个map表并命名为****wenmap ,数字 2 是标识,我这里的模式名和实验一的MACP是一样并且wenmap 这张表之前已经应用到接口上了现在是通过标识来区分不同的表,之前的标识是1,现在的是2

match address 102 # 将第二阶段的数据连接的ACL表 102****映射过来,简单理解就是要使用102表做匹配
set transform-set wentran # 只要匹配ACL表的IP,就使用实验一定义的传输模式wentran 做加密及认证方式对数据进行加密
set peer 120.1.1.1 # 配置目标的公网ip(这里是指广州分公司的公网ip)

(4)现在北京指向广州分公司的VPN隧道已经配置完成了,但是现在还是无法通信的因为在实验2我们给北京总部的路由器配置了NAT的PATPAT会把数据帧的源IP转换成公网ip,我们这里北京访问广州分公司是走VPN隧道的所以要设置豁免,让PAT对他不做转换:

向ACL表插入条目

conf t # 进入全局配置模式

ip access-list extended 101 # 进入要修改的表101

15 deny ip 192.168.0.0 0.0.255.255 10.1.0.0 0.0.255.255 # 在ID为15的位置插入条目

exit # 退到上一级

do show ip access-list 101 # 查看ACL表,表号可选,不写查找全部

4)测试,网络连通性

先用北京的PC上网与ping 一下上海的PC

然后让广州的PC ping 北京的PC

**实验4:**在1-3的基础上,要求广州和上海之间不建立VPN隧道,但广州和上海可以互相安全的通信

(1)现在已经有了VPN隧道,不过是广州与北京的,我们要加ACL表内添加一条匹配广州与上海的条目。

**目的:**因为现在的广州分公司VPN隧道是指向北京的,我们已经加ACL表内添加一条匹配广州与上海的条目,所以用广州的PC访问上海的PC的数据也会被路由到北京总部的那个路由器,然后再配置一下北京总部的那个路由器的ACL表,再由他路由把数据路由到上海分公司(之前已经配置过北京到上海的VPN隧道)

在广州这边的路由器添加

conf t # 进入全局配置模式

acc 102 permit ip 10.1.0.0 0.0.255.255 172.16.0.0 0.0.255.255 # 添加一条匹配广州到上海的条目(意思就是广州到上海也让他走VPN隧道,这个隧道是广州到北京。

通俗点理解(举例):广州到上海没有高铁(VPN隧道),但是广州到北京有高铁我可以先坐车到北京再转车到上海,因为北京到上海有高铁(有VPN隧道))

(2)北京总部与上海分公司的VPN隧道的ACL表只有一条匹配北京访问上海的(192.168 - 172.16),现在要加一条广州到上海的条目(10.1 - 172.16)

**目的:**让广州访问上海分公司的数据到达北京总部这边让北京总部这边的路由器再转发到上海,实现广州与上海的安全通信,而不用再次花钱买VPN隧道。

在北京这边的路由器添加

conf t # 进入全局配置模式

acc 100 permit ip 10.1.0.0 0.0.255.255 172.16.0.0 0.0.255.255 # 添加一条匹配广州到上海的条目(意思就是广州到上海也让他走VPN隧道,这个隧道是北京到上海。转车到上海)

现在广州访问上海的数据行走的路线图

(3)现在广州访问上海分公司数据可以到达了,但是上海分公司现在还无法给广州回包,或者说是上海无法访问广州。

现在配置上海到广州,思路和配置广州的一样,上海到广州的数据先发给北京总部的路由器再转发到广州

conf t # 进入全局配置模式

acc 100 permit ip 172.16.0.0 0.0.255.255 10.1.0.0 0.0.255.255 # 添加一条匹配上海到广州的条目

**注意:**因为在实验2给上海的路由器配置了NAT,转换了源IP为外网端口ip但是这里我们是要上海与广州通信是走VNP隧道,不用转换IP包的源IP地址,所以要配置过滤

向ACL表插入条目

conf t # 进入全局配置模式

ip access-list extended 101 # 进入要修改的表101

15 deny ip 172.16.0.0 0.0.255.255 10.1.0.0 0.0.255.255 # 在ID为15的位置插入条目,172.16 访问 10.1.不用做NAT地址转换(上海到广州不做地址转换)

exit # 退到上一级

do show ip access-list 表号 # 查看ACL表,表号可选,不写查找全部

(4)让北京总部的路由器转发上海到广州的数据包到广州

conf t # 进入全局配置模式

acc 102 permit ip 172.16.0.0 0.0.255.255 10.1.0.0 0.0.255.255 # 添加一条匹配上海到广州的条目 ,注意这里要加到广州与北京的VPN隧道的ACL表内我这里是102,北京到上海的是100

(5)测试广州到上海/上海到广州的网络连通性

9、远程访问VPN

在公司需要搭建PN服务器

  • VPN服务器需要对PN客户端进行身份验证
  • VPN服务器需要给VPN客户端下发权限及P地址

实现原理:

**1)**公司配置一个远程VPN服务器,员工在外面要访问公司内部的资源时就要对VPN服务器进行拨号,VPN服务器收到后就会下发一个私网ip地址如:172.16.1.1

**2)**然后员工的PC就会使用这个IP访问公司的VPN服务器,不过私网是不能在互联网上存活的,所以员工访问公司的数据帧会被加密,再封装一个IP包头(源ip是员工现在连接的路由器配置的公网ip,目标是公司的公网ip),数据帧到达公司的路由器后就会解封装还原数据帧

**3)**还原之后路由器会把数据包的源IP(172.16.1.1)拿出来,使用公司的内网的网关(192.1.1.1)替换,然后公司内网被访问的服务器就以为是192.1.1.1(网关)在访问他,回包的时候就会发给网关(目标ip是网关),网关一般是配置在路由器上的,这就意味着回包的数据发到了路由器然后路由器再把数据包的现在目标IP(网关)拿掉,把刚才的172.16.1.1(员工的ip)替换上去再加密数据包,重新封装一个IP包头(源IP:公司的公网IP,目标IP:员工现在连接的路由器配置的公网ip),然后再发送出去。

10、实验:模拟翻墙(注意:仅用来学习原理,翻墙犯法)

步骤:
**1)**使用一台windowsXP、两台windows2003或2007/8虚拟机,一台当做VPN服务器,windowsXP网络设置为VMnet1,VPN服务器一块网卡设置成VMnet1另一块网卡设置成VMnet2,某国google服务器网络设置为VMnet2

给VPN服务器添加一块网卡

第一块网卡连国内,网络设置为VMnet1, 第二块网卡连国外,网络设置为VMnet2。

某国google服务器网络设置为VMnet2

2)给虚拟机配置IP(国内主机XP配置:100.1.1.2 /24,VPN连接国内的**VMnet1网卡配置:**100.1.1.1 /24,另一块:200.1.1.1 /24,某国google服务器: 200.1.1.2 /24)

3)某国google服务器上IIS-Web部署一个网页,等下用国内的主机访问测试

现在国内的主机无法访问该网页,不过VPN服务器可以访问该网页,而国内的主机又可以访问VPN服务器

4)给VPN服务器这台PC装上VPN服务器的软件并开启

**PPTP 或 L2TP 的VPN协议的端口号都是 TCP:**1723

netstat -an # 查看本机开放的端口号

开启VPN服务器

5)在VPN服务器的PC创建一个普通账号让其他要翻墙的PC可以用来拨号访问

6)打开VPN服务器配置NAT地址转换,让国内的PC访问国外的网站时的私网地址转换会被成VPN服务器公网ip,然后以VPN服务器的身份访问国外的网站实现翻墙(防火长城)

配置给VPN拨号的PC下发的私有地址

配置NAT地址转换

选择外网接口让数据出这个接口时做网络地址转换

到这里就搭建好了VPN服务器

7) 使用winXP-国内的主机拨号VPN,这个拨号功能是windows系统自带的,XP和win10的方式都是不一样的,需要可以网上搜索,也可以下载软件用软件进行拨号

8)使用winXP-国内的主机访问google网站

注意:

如果拨号拨上了VPN服务器,那以后你的PC访问国内的网站也是以国外的VPN服务器的身份进行访问的会有一定的影响,可能不访问不了会被防火长城隔离,但是你访问和你同一局域网下的设备不会有影响。(简单理解就是:你只要连接上了VPN那你以后只要不是访问和自己同一wifi或网线下的人,其他的流量都会走VPN隧道。)

扩展知识:PC上也有路由表

route print # 查看路由表

题外话

初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:

  • 2023届全国高校毕业生预计达到1158万人,就业形势严峻;
  • 国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。

一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。

6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。

2022届大学毕业生月收入较高的前10个专业

本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。

“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。

网络安全行业特点

1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Go语言工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Go语言全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Golang知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Go)
img

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Go语言工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Go语言全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-hQTB2qpv-1712918263946)]
[外链图片转存中…(img-dqe159d1-1712918263946)]
[外链图片转存中…(img-qev4xuJn-1712918263947)]
[外链图片转存中…(img-N71QeZHV-1712918263947)]
[外链图片转存中…(img-3246i7Fn-1712918263948)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Golang知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Go)
[外链图片转存中…(img-i8wesPok-1712918263948)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值