linux上bridge vlan etho

article/2025/9/23 22:34:23

 Linux 接口bridgevlan架构

一、组网结构图如下:


wKioL1UTfsmxYlv9AAR1W5rK6ts480.jpg


1SW交换机和HUB

1)交换机连接HUB的端口为trunk模式,trunk vlan100,交换机上的外网网段为10.10.100.0/24vlan100,分配iptables服务器的IP10.10.100.100,网关是10.10.100.254

2)、HUB是一个纯hub,不能做任何的配置。

2、服务器A

  • A主机的eth0上联到HUBeth0划分成两个逻辑子端口eth0.10eth0.20eth0.10打上vlan10标签eth0.20打上vlan20标签

  • A主机里面运行两个虚拟机VM1VM2

  • 两台虚拟机在不同的网段10.10.10.0/24  vlan10网关是10.10.10.25410.10.20.0/24vlan20  网关是10.10.20.254

  • 在主机A中建立两个bridge: br10br20 ,br10关联端口eth0.10 br20关联端口eth0.20,br10的IP是10.10.10.1,br20的IP是10.10.20.1

  • VM1桥接到br10ip:10.10.10.11,VM2桥接到br20 ip:10.10.20.11

3、服务器B

1)、B主机的eth0上联到HUBeth0划分成两个逻辑子端口eth0.10eth0.20eth0.10打上vlan10标签eth0.20打上vlan20标签

2)、B主机里面运行两个虚拟机VM3VM4

3)、两台虚拟机在不同的网段10.10.10.0/24  vlan10 网关是10.10.10.25410.10.20.0/24 vlan20  网关是10.10.20.254

4)、在主机B中建立两个bridge: br10br20 ,br10关联端口eth0.10 br20关联端口eth0.20,br10的IP是10.10.10.2,br20的IP是10.10.20.2

5)、VM3桥接到br10 ip10.10.10.12VM2桥接到br20 ip10.10.20.12

 

4IPtables服务器

1)、iptalbes服务器在这的作用是:让AB服务器内的虚拟机出网nat作用、通过外网访问AB虚拟机提供的web服务器。

2)、iptables服务器的eth0口,走虚拟机vlan10vlan20的业务流量,所以需要通过eth0划分两个逻辑端口eth0.10eth0.20,并且创建两个bridgebr10br20br10关联端口eth0.10br20关联端口eth0.20br10ip地址是10.10.10.254br20ip地址是10.10.20.254

3)、iptables服务器的eth1口作为外网出口接入hub,需要在eth1端口上配置IP10.10.100.100,网关配置为10.10.100.254,用vconfig命令给eth1打上vlan标签100

5、实现需求

    AB服务器的虚拟机可以相互访问,虚拟机可以访问外网,A服务器提供的web管理界面可以通过外网访问。

二、网络层面设备配置

1、交换机配置

   把交换机和hub相连的端口配置为trunk端口,允许vlan 100通过。

2、服务器A的配置

1)、安装vconfig包(redhat7.0一下版本默认带vconfig包)

yum install vconfig

2)、在内核加载802.1q模块

modprobe 8021q

lsmod |grep -i 8021q  (查看模块是否加载)

3)、配置物理网卡

sed  –i  's/ONBOOT=no/ONBOOT=yes/g'  /etc/sysconfig/network-scripts/ifcfg-eth0

sed –i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g'/etc/sysconfig/network-scripts/ifcfg-eth0

 

3)、给物理接口添加vlan并配置vlan的属性

vconfig add eth0 10

config set_flag eth0.10 1 1

 

vconfig add eth0 20

config set_flag eth0.20 1 1   

4)、添加eth0.10eth0.20子接口并添加配置文件

touch /etc/sysconfig/network-scripts/ifcfg-eth0.10

echo 'DEVICE=eth0.10' >> /etc/sysconfig/network-scripts/ifcfg-eth0.10

echo 'ONBOOT=yes'  >> /etc/sysconfig/network-scripts/ifcfg-eth0.10

echo 'BOOTPROTO=static' >>/etc/sysconfig/network-scripts/ifcfg-eth0.10

echo 'TYPE=ethernet' >>/etc/sysconfig/network-scripts/ifcfg-eth0.10

echo 'VLAN=yes'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.10

echo 'BRIDGE=br10'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.10 #(把eth0.10加入br10

 

touch /etc/sysconfig/network-scripts/ifcfg-eth0.20

echo 'DEVICE=eth0.20' >> /etc/sysconfig/network-scripts/ifcfg-eth0.20

echo 'ONBOOT=yes'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.20

echo 'BOOTPROTO=static' >>/etc/sysconfig/network-scripts/ifcfg-eth0.20

echo 'TYPE=ethernet' >>/etc/sysconfig/network-scripts/ifcfg-eth0.20

echo 'VLAN=yes'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.20

echo 'BRIDGE=br20'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.20 #(把eth0.20加入br20

5)、配置bridge

touch/etc/sysconfig/network-scripts/ifcfg-br10

echo 'DEVICE=br10'  >> /etc/sysconfig/network-scripts/ifcfg-br10

echo 'ONBOOT=yes'  >> /etc/sysconfig/network-scripts/ifcfg-br10

echo 'BOOTPROTO=static'>> /etc/sysconfig/network-scripts/ifcfg-br10

echo 'TYPE=bridge' >>/etc/sysconfig/network-scripts/ifcfg-br10

 

touch/etc/sysconfig/network-scripts/ifcfg-br20

echo 'DEVICE=br10'  >> /etc/sysconfig/network-scripts/ifcfg-br20

echo 'ONBOOT=yes'  >> /etc/sysconfig/network-scripts/ifcfg-br20

echo 'BOOTPROTO=static'>> /etc/sysconfig/network-scripts/ifcfg-br20

echo 'TYPE=bridge' >>/etc/sysconfig/network-scripts/ifcfg-br20

6)、启动子接口和bridge接口

ifup eth0.10

ifup eth0.20

ifup br10

ifup br20

7)、给bridge接口配置IP

  echo 'IPADDR=10.10.10.1'  >> /etc/sysconfig/network-scripts/ifcfg-br10

echo 'NETMASK=255.255.255.0'  >> /etc/sysconfig/network-scripts/ifcfg-br10

 

  echo 'IPADDR=10.10.20.1'  >> /etc/sysconfig/network-scripts/ifcfg-br20

echo 'NETMASK= 255.255.255.0'  >> /etc/sysconfig/network-scripts/ifcfg-br20

 

8)、添加eth0.10 eth0.20br10br20

   brctl addif br10  eth0.10

   brctl addif br20  eth0.20

9)、重启网络

service network restart

10)、设置下次启动自动加载8021q 模块
echo 'VLAN=yes' >> /etc/sysconfig/network

echo 'modprobe 8021q'>>/etc/rc.local

11)、可以使用cat /proc/net/vlan/eth0.10查看eth0.10参数

3、服务器B的配置

1)、安装vconfig包(redhat7.0一下版本默认带vconfig包)

yum install vconfig

2)、在内核加载802.1q模块

modprobe 8021q

lsmod |grep -i8021q  (查看模块是否加载)

3)、配置物理网卡

sed  –i  's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0

sed –i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g'/etc/sysconfig/network-scripts/ifcfg-eth0

 

3)、给物理接口添加vlan并配置vlan的属性

vconfig add eth010

config set_flageth0.10 1 1

 

vconfig add eth0 20

config set_flag eth0.20 1 1   

4)、添加eth0.10eth0.20子接口并添加配置文件

touch/etc/sysconfig/network-scripts/ifcfg-eth0.10

echo'DEVICE=eth0.10'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.10

echo'ONBOOT=yes'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.10

echo'BOOTPROTO=static' >> /etc/sysconfig/network-scripts/ifcfg-eth0.10

echo 'TYPE=ethernet'>> /etc/sysconfig/network-scripts/ifcfg-eth0.10

echo'VLAN=yes'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.10

echo'BRIDGE=br10'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.10 #(把eth0.10加入br10

 

touch/etc/sysconfig/network-scripts/ifcfg-eth0.20

echo'DEVICE=eth0.20'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.20

echo'ONBOOT=yes'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.20

echo'BOOTPROTO=static' >> /etc/sysconfig/network-scripts/ifcfg-eth0.20

echo 'TYPE=ethernet'>> /etc/sysconfig/network-scripts/ifcfg-eth0.20

echo'VLAN=yes'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.20

echo'BRIDGE=br20'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.20 #(把eth0.20加入br20

5)、配置bridge

touch /etc/sysconfig/network-scripts/ifcfg-br10

echo 'DEVICE=br10'  >>/etc/sysconfig/network-scripts/ifcfg-br10

echo 'ONBOOT=yes'  >>/etc/sysconfig/network-scripts/ifcfg-br10

echo 'BOOTPROTO=static' >> /etc/sysconfig/network-scripts/ifcfg-br10

echo 'TYPE=bridge' >> /etc/sysconfig/network-scripts/ifcfg-br10

 

touch /etc/sysconfig/network-scripts/ifcfg-br20

echo 'DEVICE=br10'  >>/etc/sysconfig/network-scripts/ifcfg-br20

echo 'ONBOOT=yes'  >>/etc/sysconfig/network-scripts/ifcfg-br20

echo 'BOOTPROTO=static' >> /etc/sysconfig/network-scripts/ifcfg-br20

echo 'TYPE=bridge' >>/etc/sysconfig/network-scripts/ifcfg-br20

6)、启动子接口和bridge接口

ifup eth0.10

ifup eth0.20

ifup br10

ifup br20

7)、给bridge接口配置IP

  echo'IPADDR=10.10.10.2'  >> /etc/sysconfig/network-scripts/ifcfg-br10

echo 'NETMASK= 255.255.255.0' >> /etc/sysconfig/network-scripts/ifcfg-br10

 

  echo'IPADDR=10.10.20.2'  >> /etc/sysconfig/network-scripts/ifcfg-br20

echo 'NETMASK= 255.255.255.0' >> /etc/sysconfig/network-scripts/ifcfg-br20

 

8)、添加eth0.10 eth0.20br10br20

   brctladdif br10  eth0.10

   brctladdif br20  eth0.20

9)、重启网络

service network restart

10)、设置下次启动自动加载 8021q 模块
echo 'VLAN=yes' >> /etc/sysconfig/network

echo 'modprobe 8021q' >>/etc/rc.local

服务器A和服务器B的网络配置只有bridge上的IP不同

4IPtables服务器的配置

1)、服务器eth0口的配置

1)、安装vconfig包(redhat7.0一下版本默认带vconfig包)

yum install vconfig

2)、在内核加载802.1q模块

modprobe 8021q

lsmod |grep -i8021q  (查看模块是否加载)

3)、配置物理网卡

sed  –i  's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0

sed –i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g'/etc/sysconfig/network-scripts/ifcfg-eth0

 

3)、给物理接口添加vlan并配置vlan的属性

vconfig add eth010

config set_flageth0.10 1 1

 

vconfig add eth0 20

config set_flag eth0.20 1 1   

4)、添加eth0.10eth0.20子接口并添加配置文件

touch/etc/sysconfig/network-scripts/ifcfg-eth0.10

echo'DEVICE=eth0.10'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.10

echo'ONBOOT=yes'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.10

echo'BOOTPROTO=static' >> /etc/sysconfig/network-scripts/ifcfg-eth0.10

echo 'TYPE=ethernet'>> /etc/sysconfig/network-scripts/ifcfg-eth0.10

echo'VLAN=yes'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.10

 

touch/etc/sysconfig/network-scripts/ifcfg-eth0.20

echo'DEVICE=eth0.20'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.20

echo'ONBOOT=yes'  >> /etc/sysconfig/network-scripts/ifcfg-eth0.20

echo'BOOTPROTO=static' >> /etc/sysconfig/network-scripts/ifcfg-eth0.20

echo 'TYPE=ethernet'>> /etc/sysconfig/network-scripts/ifcfg-eth0.20

echo'VLAN=yes'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.20

5)、启动子接口

ifup eth0.10

ifup eth0.20

6)、给子接口接口配置IP

  echo'IPADDR=10.10.10.254'  >> /etc/sysconfig/network-scripts/ifcfg-eth0.10

echo 'NETMASK= 255.255.255.0' >> /etc/sysconfig/network-scripts/ifcfg-eth0.10

 

  echo'IPADDR=10.10.20.254'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.20

echo 'NETMASK= 255.255.255.0'  >>/etc/sysconfig/network-scripts/ifcfg-eth0.20

 

7)、重启网络

service network restart

8)、设置下次启动自动加载 8021q 模块
echo 'VLAN=yes' >> /etc/sysconfig/network

echo 'modprobe 8021q' >>/etc/rc.local

2)、服务器eth1口的配置

1)、配置物理网卡

sed  –i  's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth1

sed –i 's/BOOTPROTO=dhcp/BOOTPROTO=static/g'/etc/sysconfig/network-scripts/ifcfg-eth1

 

2)、给物理接口添加vlan并配置vlan的属性

vconfig add eth1100

config set_flageth1.100 1 1

  

3)、添加eth1.100子接口并添加配置文件

touch /etc/sysconfig/network-scripts/ifcfg-eth1.100

echo 'DEVICE=eth1.100'  >> /etc/sysconfig/network-scripts/ifcfg-eth1.100

echo'ONBOOT=yes'  >>/etc/sysconfig/network-scripts/ifcfg-eth1.100

echo'BOOTPROTO=static' >> /etc/sysconfig/network-scripts/ifcfg-eth1.100

echo 'TYPE=ethernet'>> /etc/sysconfig/network-scripts/ifcfg-eth1.100

echo'VLAN=yes'  >> /etc/sysconfig/network-scripts/ifcfg-eth1.100

 

4)、启动子接口

ifup eth1.100

5)、给子接口接口配置IP

  echo'IPADDR=10.10.100.100'  >>/etc/sysconfig/network-scripts/ifcfg-eth1.100

echo 'NETMASK= 255.255.255.0' >> /etc/sysconfig/network-scripts/ifcfg-eth1.100

echo 'GATEWAY= 10.10.100.254' >> /etc/sysconfig/network-scripts/ifcfg-eth1.100

6)、重启网络

service network restart

7)、设置下次启动自动加载 8021q 模块

echo'VLAN=yes' >> /etc/sysconfig/network

echo 'modprobe 8021q' >>/etc/rc.local

3)、让服务器AB内的虚拟机出网

iptables -t nat -A POSTROUTING -s10.10.10.0/24 -o eth1.100 -j MASQUERADE

  iptables-t nat -A POSTROUTING -s 10.10.20.0/24 -o eth1.100 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward

4)、外网设备要访问vm180端口

iptables -t nat -A PREROUTING -p tcp -d 10.10.100.100 --dport 80-j DNAT --to-destination 10.10.10.11:80

 把外网设备访问10.10.100.10080端口映射到vm1设备的80端口

三、在服务器AB上创建虚拟机

1)、通过此链接创建KVM虚拟机

  http://zhanguo1110.blog.51cto.com/5750817/1416604


http://chatgpt.dhexx.cn/article/TXOKx6EW.shtml

相关文章

linux系统出现“Bring up interface etho”错误

linux系统启动网络服务出现以下两个错误的情况: 1、​Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization. 2、Bring up interface etho:Error :No suitable device found:no device found for connection ‘System…

虚拟机启动以后linux的etho网卡没有ip

查看windows的服务进程中,VM的DHCP服务是否启动,启动即可~ 转载于:https://www.cnblogs.com/leite/p/9332946.html

Linux网络配置ifcfg etho不生效

Linux网络配置ifcfg etho不生效 1.在RHEL4上,在ifcfg-eth0上配置IP地址等信息。详细配置如下 /etc/sysconfig/network-scripts/ifcfg-eth0 2.在shell上,ifconfig查看eth0网卡信息,发现ip地址并没有生效 3.ping地址报错如下: …

centos etho网卡不可用提示:Device etho does not seem to be present解决办法

虚拟机克隆一个后,重启网络提示Device etho does not seem to be present 解决办法: 首先,打开/etc/udev/rules.d/70-persistent-net.rules内容如下: # vi /etc/udev/rules.d/70-persistent-net.rules # This file was automati…

linux 网卡开启和关闭

一、查询网卡 命令: ifconfig 可以看到 eth0: eth1: 之类的 二、关闭网卡 命令 :ifdown eth0 这个是关闭网卡eth0 再查看一下网卡 三、开启网卡 命令 :ifup eth0 这个是开启网卡eth0

linux下 etho网卡设置

1、首先,用 ifconfig 命令查询是否存在eth0网卡 2、vi /etc/sysconfig/network-scripts/ifcfg-eth0 编辑ifcfg-eth0文件,如图: 加上以下配置: DEVICEeth0 TYPEEthernet ONBOOTyes #启动时开启网卡 NM_CONTROLLEDyes BOOTPRO…

linux之用户密码忘记后如何修改密码

修改用户密码 当我们的linux用户密码忘记后,无法进入时不要着急这里帮你解决 1)首先重启我们的系统,然后马上反复按上下键就会进入这样的一个界面 2)然后按一下e键,进入下一个界面 3)找到这个以lin…

Linux 服务器修改登陆用户的密码

1. 成功登陆到远程服务器之后,输入指令:passwd 2.确认指令正确,按下回车键,即可弹出提示,让输入新的密码 3.如果输入的新密码过于简单,是不能通过Linux系统的,所以密码应该设置的复杂一些&#…

Linux 系统怎么改开机密码

前言 kali和ubuntu虚拟机装的时候密码设置的都和本机一样,后面开虚拟机开的越来越频繁,(密码太长了…)就想着怎么改个密码。因为windows改开机密码的操作太简单,但是linux的设置里面好像又没有这一项,所以…

怎样修改linux(虚拟机)系统开机密码

解决方法: 1.要确保在root权限下,才能实现修改。(必须拥有root权限) 修改的语法为:passwd YY (这里的YY指的是自己的新密码) 执行命令:passwd YY 按照提示输入两遍提示即可。 &…

【Linux编程】三分钟让你学会Linux下用户密码更改

Linux环境下密码更改包括两种: 第一种:root用户(管理员)密码更改 第二种:非root用户(普通用户)密码更改 可能需要进行密码更改的场景: ①购买云服务后,原始的root密码过…

Linux忘记root登陆密码,修改密码方法

前言 <1>为了安全&#xff0c;通常我们会把密码设置的较为复杂&#xff0c;因此一旦我们密码记录的文件发生错误或者忘记密码了&#xff0c;下面有几个方法可以帮你重设密码 <2>实际上分为两种更改密码的方法&#xff08;有服务运行的最好不要重启&#xff09;&am…

Linux修改普通用户密码

【起因】    人都会忘记密码&#xff0c;即使你之前做过了统计&#xff0c;但是一次不经意的修改&#xff0c;没有统计&#xff0c;也会产生大麻烦。 【前提】    此前提为你修改虚拟机用户密码所必须的软件&#xff1a;   XShell任意版本即可 【具体步骤】    …

linux修改用户密码命令

useradd testuser 创建用户testuser passwd testuser 给已创建的用户testuser设置密码 说明&#xff1a;新创建的用户会在/home下创建一个用户目录testuser usermod --help 修改用户这个命令的相关参数 userdel testuser 删除用户testuser rm -rf testuser 删除用户testuser所在…

Linux系统服务器修改用户密码的方法

Linux系统下可以通过 passwd 命令来个修改用户的密码&#xff0c;操作起来也非常的简单。 Linux修改用户密码的方法 命令&#xff1a; #修改自己登录用户的密码 passwd #修改某个用户的密码&#xff0c;必须root用户 passwd 用户名 例&#xff1a; Linux 修改自己当前用户的密码…

Linux 重置root密码和修改用户密码

一、没有忘记自己的密码&#xff0c;进行修改 1、修改root密码 执行&#xff1a;passwd root, 按照提示输入新的密码两次。 如果用xshell连接的情况下&#xff0c;需要重新验证新的密码。 [rootcentos7 ~]# passwd root 更改用户 root 的密码 。 新的 密码&#xff1a; 无效…

Linux系统修改 root 用户密码

方法一&#xff1a;rd.break 第1步 重启系统&#xff0c;在下图所示界面按e键 第2步&#xff1a;找到 linux这行&#xff0c;末尾输入 空格 rd.break 然后按 ctrlx 第3步&#xff1a; 查看可选步骤 输入&#xff1a;mount | grep sysroot 这里sysroot是以ro只读的形式挂载的…

Linux服务器如何修改登录用户的密码

Linux作为一款开源免费的系统&#xff0c;在服务器上的使用非常广泛&#xff0c;由于Linux是一个非以可视化界面为主的系统&#xff0c;所以很多设置需要用到指令&#xff0c;例如修改登录用户的 密码&#xff0c;就需要使用到:passwd 1、输入用户的正确密码&#xff0c;登录到…

Linux中修改或重置密码

在Linux中有两种方法修改或重置密码&#xff1a; 1.重启系统&#xff0c;按‘E’进入编辑内核参数的页面 2.找到linux行&#xff0c;末尾空格后输入 rd.break 然后按ctrlx 3. 输入mount | grep sysroot(注意空格)查看&#xff0c;可选步骤 ro 这里sysroot是以只读的形式挂载的&…

Linux:修改用户密码

Linux修改用户密码 使用的Linux版本是&#xff1a;ubuntu-18.10-live-server-amd64 知道一个用户名密码时&#xff0c;修改用户密码&#xff0c;各个版本下都是通用的&#xff1b; 重置密码的时候&#xff0c;版本不同&#xff0c;可能操作的地方不一样了。 如果一个账号的…