centos iptunnel,centos7.0下载

大家好,如果您还对centos iptunnel不太了解,没有关系,今天就由本站为大家分享centos iptunnel的知识,包括centos7.0下载的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

openstack neutron网络介绍

由于网络部分出现了许多得新名词。将从整体到分部细致讲解。

来源于网络得一张图

如图所示,连成了一条线。重要得如何实现互联,接下来以表象论证这张图。

最好将图放在一边,边看边对照图。

这里先介绍从虚拟机访问外网。端口A开始:

表现出来就是虚拟机有张网卡A。

查询此虚拟机得子网ip为 10.1.1.5,以及所在节点,记住这个节点。

通过子网ip查询到端口id为 b65c1085-a971-4333-82dc-57012e9be490

记住这个id

图中A与B互联,意味着A与B一定具有某种映射关系。

若没有此命令则安装: yum install-y bridge-utils

可以看到这个id对应的tap设备!

veth pair是什么?后面再介绍。

由图可知,端口B(qvbXXX)和端口C(tapXXX)在同一个linux网桥上。它们俩互通了。

端口D在ovs网桥上。C和D的互联是veth pair的特性。

由图可以看出,qvoXXX在ovs网桥上,qvb在linux网桥上。它们之间的互联是veth pair的特性,它们就像一根导线的两端。

ovs查询命令:

这里可以看到3种网桥: br-int、br-tun、br-ex。这里有个印象就好。

仔细的查看一下,可以看到qvoXXX在br-int网桥上。

至此D端口也找到了

E、F端口通过ovs网桥自身连接。

ovs-vsctl show可以看到两个patch类型的端口,用于连接br-int和br-tun。类似于veth pair。

ovs-vsctl show可以在br-tun网桥上看到vxlan类型的端口,并注明本地ip和remote ip,通过此类型端口,将不同的物理环境互联,对于上层好似就一个网桥。再者br-tun网桥还与br-int互联,这意味,对于再上一层的应用,似乎只有一个br-int。

和【E】【F】相同。

此时携带源ip为子网的流量到达M端口,而L端口得网段为外网网段,因此M网段的流量此时无法直接进入L端口。借助router(网络命名空间),使用iptables,将M端口流量的源ip转换为外网网段。此时流量可进入L端口从而访问外网。(M与N之间连通性非网络对实现,而是ovs tap设备实现。网络对的一个明显特征为 ip a可以看到@符号连接两个端口)

找到虚拟机所在租户的路由id

本机为 894699dc-bc60-4b5e-b471-e95afa20f1d7

根据路由id找到网络命名空间

在所有节点上执行如下命令,找到对应id的qrouter

ip netns

本环境为:qrouter-894699dc-bc60-4b5e-b471-e95afa20f1d7

在此网络命名空间的节点上执行(如下命令意义为进入网络命名空间):

此时已进入网络命名空间。

查看ip

可以看到qg和qr开头的网卡名称。qg为弹性ip地址组,qr为子网网关。此时在虚拟机所在节点上查询ovs网桥,可以在br-int看到与此同名的qg和qr端口。

由于是源地址转换,因此先路由再转换源ip(iptables规则)。

查看路由规则:

route-n

第一条可以看到外网的网关,通过qg网卡发送,规则正好匹配。

选好路由规则之后,进行更改源ip。

可以看到 neutron-l3-agent-float-snat(配置了弹性ip才会出现)、neutron-l3-agent-snat。因为neutron-l3-agent-float-snat优先级高于neutron-l3-agent-snat,如果没有配置弹性ip,则会将源ip改为该路由的外网ip;如果配置了弹性ip则会将源ip改为弹性ip。

总的来说,流量从qr出去绕了一圈(网络命名空间)改变了源ip又从qg进入,然后通过ovs patch进入br-ex。

br-ex如何与外网连接的呢?进入网络节点查看ovs网桥:

可以看到 br-ex与em3网卡互联。因此流量直接走em3出去。还记得你这张网卡是干嘛的吗?是那张不配置ip的物理网卡!

通过iptables的prerouting可以看出,在进入之前修改了目的弹性ip为子网ip,后经路由转发。另,网络命名空间可以通过arp发现子网ip与mac地址的对应关系。

lbaas,负载均衡

dhcp,dhcp服务。

通过前面说的br-tun实现。如果没有单独划分网络,则使用管理网网段。若单独配置了tunnel网络,则br-tun里的网络使用tunnel网络。

br-tun里定义了vxlan,并且指定了 local_ip、remote_ip。根据这两个ip以及路由信息,可以确定 br-tun通过哪张网卡与外部通信。也是因此可以为tunnel配置专用网卡。

都是通过iptables实现。

防火墙:qrouter网络命名空间中得iptables实现。

安全组:虚拟机所在得宿主机得iptables实现。

可以看到防火墙规则。

可以看到对应端口id得安全组规则。

已经知道了qrouter利用nat表实现弹性ip与子网ip之间的映射,但是如何从外部访问到qg网卡的?

这里做了一个简单的模拟操作:

dnsmasq实现。

kolla-ansible的dnsmasq日志相对路径参考:neutron/dnsmasq.log(可通过dnsmasq.conf找到日志路径)

日志中可以看到dhcp的详细过程。过程参考如下:

文档参考:

dhcp也通过网络命名空间实现,名称由网络id决定。dhcp可以拥有多个,通过neutron.conf中 dhcp_agents_per_network决定。

另:centos7虚拟机中的/var/log/messages也记录了dhcp相关操作。

network qos可以理解为网络流量限制,官方名称:网络质量即服务

本环境通过openvswitch实现的qos。

如上图为设置的带宽限制规则。

根据端口号查看流表,命令参考:

上图标记的104就为dscp mark乘 4的结果,乘4是一种规范。

Centos系统下查看和修改网卡Mac地址附ifconfig命令格式

本文将为大家详细的介绍centos系统修改网卡Mac地址的方法,具体内容如下:

在文件/etc/sysconfig/network-scripts/ifcfg-eth0中增加一行类似如下

MACADDR=00:04:AC:33:1C:3B

答:MAC地址是网卡的物理地址,其实在Linux下也可更改MAC地址:

1)闭网卡设备

/sbin/ifconfig eth0 down

2)修改MAC地址

/sbin/ifconfig eth0 hw ether MAC地址

3)重启网卡

/sbin/ifconfig eth0 up

Red Hat Linux下如何修改网卡MAC地址

OS版本:Red Hat Enterprise Linux AS4

核心:Kernel 2.6.9-42

网上有很多关于linux下修改MAC地址的方法,大多依葫芦画瓢,似乎都没验证过,达不到修改的目的。

经过我的详细测试,最终成功解决了这个问题。

误区一:

#ifconfig eth0 down/*禁掉eth0网卡,这里以eth0网卡为例*/

#ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE/*修改eth0网卡的MAC地址*/

#ifconfig eth0 up/*重新启动eth0网卡*/

然后重新启动主机。

结论:按照这种方法修改MAC地址,重新启动主机系统后,MAC地址会自动还原。

误区二:

#ifconfig eth0 down

#cd/etc/sysconfig/network-scripts

#vi ifcfg-eth0

修改其中的"HWADDR=xx:xx:xx:xx:xx:xx"

#ifconfig eth0 up

#service network start

结论:按照这种方法修改MAC地址后将无法启用网络,会出现如下提示:

“Bringing up interface eth0: Device eth0 has different MAC address than expected,ignoring.”

那么,在linux环境下如何保证修改后的MAC地址永久保存呢?正确的步骤如下:

#ifconfig eth0 down

#cd/etc/sysconfig/network-scripts

#vi ifcfg-eth0

修改其中的"HWADDR=xx:xx:xx:xx:xx:xx"为"MACADDR=xx:xx:xx:xx:xx:xx"

#ifconfig eth0 up

#service network start

关键词:HWADDR和MACADDR是有区别的。

最后附ifconfig命令格式:

ifconfig--help Usage: ifconfig [-a] [-v] [-s] [[] ] [add [/

]] [del [/

]] [[-]broadcast []] [[-]pointopoint []] [netmask ] [dstaddr ] [tunnel ] [outfill ] [keepalive ] [hw ] [metric ] [mtu ] [[-]trailers] [[-]arp] [[-]allmulti] [multicast] [[-]promisc] [mem_start ] [io_addr ] [irq ] [media ] [txqueuelen ] [[-]dynamic] [up|down]...=Hardware Type. List of possible hardware types: loop(Local Loopback) slip(Serial Line IP) cslip(VJ Serial Line IP) slip6(6-bit Serial Line IP) cslip6(VJ 6-bit Serial Line IP) adaptive(Adaptive Serial Line IP) strip(Metricom Starmode IP) ash(Ash) ether(Ethernet) tr(16/4 Mbps Token Ring) tr(16/4 Mbps Token Ring(New)) ax25(AMPR AX.25) netrom(AMPR NET/ROM) rose(AMPR ROSE) tunnel(IPIP Tunnel) ppp(Point-to-Point Protocol) hdlc((Cisco)-HDLC) lapb(LAPB) arcnet(ARCnet) dlci(Frame Relay DLCI) frad(Frame Relay Access Device) sit(IPv6-in-IPv4) fddi(Fiber Distributed Data Interface) hippi(HIPPI) irda(IrLAP) ec(Econet) x25(generic X.25) infiniband(InfiniBand)=Address family. Default: inet List of possible address families: unix(UNIX Domain) inet(DARPA Internet) inet6(IPv6) ax25(AMPR AX.25) netrom(AMPR NET/ROM) rose(AMPR ROSE) ipx(Novell IPX) ddp(Appletalk DDP) ec(Econet) ash(Ash) x25(CCITT X.25)希望上文可以帮助到大家,需要的用户快来看看吧,想了解更多精彩教程请继续关注!

怎样在CentOS 7.0上安装和配置VNC服务器

1.安装 X-Window

首先我们需要安装 X-Window,在终端中运行下面的命令,安装会花费一点时间。

# yum check-update# yum groupinstall"X Window System"

installing x windows

#yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

install gnome classic session

###设置默认启动图形界面# unlink/etc/systemd/system/default.target# ln-sf/lib/systemd/system/graphical.target/etc/systemd/system/default.target

configuring graphics

# reboot

在服务器重启之后,我们就有了一个工作着的 CentOS 7桌面环境了。

现在,我们要在服务器上安装 VNC服务器了。

2.安装 VNC服务器

现在要在我们的 CentOS 7上安装 VNC服务器了。我们需要执行下面的命令。

# yum install tigervnc-server-y

vnc server

3.配置 VNC

然后,我们需要在/etc/systemd/system/目录里创建一个配置文件。我们可以将/lib/systemd/sytem/vncserver@.service拷贝一份配置文件范例过来。

# cp/lib/systemd/system/vncserver@.service/etc/systemd/system/vncserver@:1.service

copying vnc server configuration

接着我们用自己最喜欢的编辑器(这儿我们用的 nano)打开/etc/systemd/system/vncserver@:1.service,找到下面这几行,用自己的用户名替换掉。举例来说,我的用户名是 linoxide所以我用 linoxide来替换掉:

ExecStart=/sbin/runuser-l<USER>-c"/usr/bin/vncserver%i"PIDFile=/home/<USER>/.vnc/%H%i.pid

替换成

ExecStart=/sbin/runuser-l linoxide-c"/usr/bin/vncserver%i"PIDFile=/home/linoxide/.vnc/%H%i.pid

如果是 root用户则

ExecStart=/sbin/runuser-l root-c"/usr/bin/vncserver%i"PIDFile=/root/.vnc/%H%i.pid

configuring user

好了,下面重启 systemd。

# systemctl daemon-reload

最后还要设置一下用户的 VNC密码。要设置某个用户的密码,必须要有能通过 sudo切换到用户的权限,这里我用 linoxide的权限,执行“su linoxide”就可以了。

# su linoxide$ sudo vncpasswd

setting vnc password

确保你输入的密码多于6个字符

4.开启服务

用下面的命令(永久地)开启服务:

$ sudo systemctl enable vncserver@:1.service

启动服务。

$ sudo systemctl start vncserver@:1.service

5.防火墙设置

我们需要配置防火墙来让 VNC服务正常工作。

$ sudo firewall-cmd--permanent--add-service vnc-server$ sudo systemctl restart firewalld.service

allowing firewalld

现在就可以用 IP和端口号(LCTT译注:例如 192.168.1.1:1,这里的端口不是服务器的端口,而是视 VNC连接数的多少从1开始排序)来连接 VNC服务器了。

6.用 VNC客户端连接服务器

好了,现在已经完成了 VNC服务器的安装了。要使用 VNC连接服务器,我们还需要一个在本地计算机上安装的仅供连接远程计算机使用的 VNC客户端。

阅读剩余
THE END