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客户端。