0
点赞
收藏
分享

微信扫一扫

OpenCV——报错解决:error: ‘VideoCapture’ was not declared in this scope

梅梅的时光 2023-07-24 阅读 69

目录

动态路由:IGP 和 EGP

参考网课:4.6.1 路由选择协议概述_哔哩哔哩_bilibili

​编辑

IGP(Interior Gateway Protocol)内部网关协议:

EGP(Interior Gateway Protocol)外部网关协议:

BGP 边界网关协议(Border Gateway Protocol)

实验:

NAT:网络地址转换

NAT 有以下几种常见的应用方式:

SNAT

SNAT策略的原理

未使用SNAT策略时的情况

在网关中使用SNAT策略以后

五元组:源IP地址、目的IP地址、源端口、目的端口、传输协议

SNAT实验:

实验环境:

SNAT网络规划拓扑图:

1、给linux网关服务器的2块网卡配置IP地址

2、给局域网内的客户机的网卡也配置IP地址

3、在linux网关服务器上配置SNAT策略的脚本 

4、测试效果,如果能通过client机器上ping通百度的话,说明SNAT实验成功了

VMware的网卡的3种模式

详细请参考:(114条消息) 计算机网络 SNAT/DNAT 部署(三种VMware网卡模式)_snat部署_Claylpf的博客-CSDN博客

桥接模式,仅主机模式,NAT模式

1、桥接模式(bridge)

2、仅主机模式(host-only) 

3、NAT模式

总网络规划图


动态路由:IGP 和 EGP

参考网课:4.6.1 路由选择协议概述_哔哩哔哩_bilibili

IGP(Interior Gateway Protocol)内部网关协议:

它是一种用于在自治系统(AS)内部进行路由选择的协议。

常见的 IGP 包括以下几种:

EGP(Interior Gateway Protocol)外部网关协议:

指的是用于自治系统(AS)之间进行路由选择的协议。(EGP 主要用于互联网中不同自治系统之间的路由交换。)

最早的 EGP 协议是在互联网刚起步时使用的,但现在已经被较先进的 BGP(Border Gateway Protocol,边界网关协议)所取代。BGP 是当前广泛使用的用于自治系统间的路由选择的协议。

BGP 边界网关协议(Border Gateway Protocol)

实验:

NAT:网络地址转换

它主要用于在私有网络和公共网络之间进行 IP 地址的映射转换。

NAT 的主要功能是将私有网络内部使用的私有 IP 地址与公共网络之间的公共 IP 地址相互转换。私有 IP 地址在内部网络中使用,而公共 IP 地址则用于外部网络(例如互联网)之间的通信。

NAT 有以下几种常见的应用方式:

SNAT

SNAT策略的典型应用环境

局域网主机共享单个公网IP地址接入Internet

SNAT策略的原理

未使用SNAT策略时的情况

在网关中使用SNAT策略以后

linux内核里有一个NAT映射表会自动进行转换,回来的时候

五元组:源IP地址、目的IP地址、源端口、目的端口、传输协议

SNAT实验:

实验环境:

        准备2台集群:一台做局域网里的客户机(1个网卡),一台做做网关服务器(路由器)

        所有的虚拟机的网卡模式选择桥接模式(客户机可以选择仅主机模式)

hostonly 仅主机模式

桥接模式:

SNAT网络规划拓扑图:

1、给linux网关服务器的2块网卡配置IP地址

[root@nginx-lb1 ~]# ip add     查看ip地址,获得2块网卡的名字:  ens33和ens36 (我已经配置好了两块网卡的IP地址和网关了)
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:90:56:0d brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.77/24 brd 192.168.2.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe90:560d/64 scope link 
       valid_lft forever preferred_lft forever
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:90:56:17 brd ff:ff:ff:ff:ff:ff
    inet 192.168.80.100/24 brd 192.168.80.255 scope global noprefixroute ens36
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe90:5617/64 scope link 
       valid_lft forever preferred_lft forever
[root@nginx-lb1 ~]# 

配置IP地址步骤
[root@sc-server ~]# cd  /etc/sysconfig/network-scripts/
[root@sc-server network-scripts]# 
复制原来的ens33的网卡配置文件生成ens36的网卡配置文件

[root@sc-server network-scripts]# cp ifcfg-ens33   ifcfg-ens36    因为前面新添加的网卡的名字是ens36,所以我们使用ens36的名字

[root@sc-server network-scripts]# ls
ifcfg-ens33  ifdown-ippp    ifdown-sit       ifup-bnep  ifup-plusb   ifup-TeamPort
ifcfg-ens36  ifdown-ipv6    ifdown-Team      ifup-eth   ifup-post    ifup-tunnel
ifcfg-lo     ifdown-isdn    ifdown-TeamPort  ifup-ippp  ifup-ppp     ifup-wireless
ifdown       ifdown-post    ifdown-tunnel    ifup-ipv6  ifup-routes  init.ipv6-global
ifdown-bnep  ifdown-ppp     ifup             ifup-isdn  ifup-sit     network-functions
ifdown-eth   ifdown-routes  ifup-aliases     ifup-plip  ifup-Team    network-functions-ipv6
[root@sc-server network-scripts]# 
配置wan口的网卡ens36的ip,注意:WAN口里配置网关和dns,注意网卡类型为桥接模式
[root@sc-server network-scripts]# vim ifcfg-ens33
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.2.77
PREFIX=24
GATEWAY=192.168.2.1
DNS1=114.114.114.114
[root@sc-server network-scripts]#
配置LAN口的网卡ens36的ip,注意:LAN口里不配置网关和dns,注意网卡类型为仅主机模式(hostonly)或者桥接模式
[root@sc-server network-scripts]# vim ifcfg-ens36
BOOTPROTO="none"
NAME="ens36"
DEVICE="ens36"
ONBOOT="yes"
IPADDR=192.168.80.100
PREFIX=24
[root@sc-server network-scripts]# service network restart
Restarting network (via systemctl):                        [  确定  ]
[root@nginx-lb1 ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:90:56:0d brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.77/24 brd 192.168.2.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe90:560d/64 scope link 
       valid_lft forever preferred_lft forever
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:90:56:17 brd ff:ff:ff:ff:ff:ff
    inet 192.168.80.100/24 brd 192.168.80.255 scope global noprefixroute ens36
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe90:5617/64 scope link 
       valid_lft forever preferred_lft forever
[root@nginx-lb1 ~]# 

2、给局域网内的客户机的网卡也配置IP地址

[root@sc-client ~]# cd  /etc/sysconfig/network-scripts/
[root@sc-client network-scripts]# 
[root@sc-client network-scripts]# vim ifcfg-ens33
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.80.1
PREFIX=24
GATEWAY=192.168.80.100
DNS1=114.114.114.114

[root@sc-server network-scripts]# service network restart
Restarting network (via systemctl):                        [  确定  ]
[root@sc-server network-scripts]#

[root@claylpf network-scripts]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:ca:33:25 brd ff:ff:ff:ff:ff:ff
    inet 192.168.80.1/24 brd 192.168.80.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:feca:3325/64 scope link 
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:f6:8a:f5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:f6:8a:f5 brd ff:ff:ff:ff:ff:ff
[root@claylpf network-scripts]# 


如果真实机器想和虚拟机(client)ssh远程连接
使用vmnet1网卡配置ip地址为192.168.50.2(网关服务器的ens36网卡配置的是仅主机模式host-only)

3、在linux网关服务器上配置SNAT策略的脚本 

[root@nginx-lb1 nat]# cat snat.sh 
#!/bin/bash

#开启路由功能
echo 1 > /proc/sys/net/ipv4/ip_forward

#清除防火墙规则
iptables -F
iptables -F -t nat

#添加SNAT策略的防火墙规则
iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens33 -j SNAT --to-source 192.168.2.77

[root@nginx-lb1 nat]# 

 代码解释:

查看iptables配置后的效果: 

[root@nginx-lb1 network-scripts]# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  192.168.80.0/24      anywhere             to:192.168.2.77
[root@nginx-lb1 network-scripts]# 

4、测试效果,如果能通过client机器上ping通百度的话,说明SNAT实验成功了

nat的次数越多,网络的速度就会越慢,时延就会越长

VMware的网卡的3种模式

详细请参考:(114条消息) 计算机网络 SNAT/DNAT 部署(三种VMware网卡模式)_snat部署_Claylpf的博客-CSDN博客

桥接模式,仅主机模式,NAT模式

1、桥接模式(bridge)

2、仅主机模式(host-only) 

3、NAT模式

总网络规划图

举报

相关推荐

0 条评论