首先,用多网卡,想要同时访问,哪里来回哪去。就不能处于同一子网,
1.华为服务器上创建子网。
2. 选择不同网段。我选10
3. 创建多张网卡。
- 查看服务器ip:一个两个。一个0,一个10。这样处于不同网段。
- 绑定实例。
- 然后打开ssh:
打开百度。https://www.hi-linux.com/posts/64963.html
(忘记截图了,贴张旧的)
❯ ip rule
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
❯ ip route list table main
default via 192.168.0.1 dev eth0 proto dhcp metric 100
169.254.169.254 via 192.168.0.1 dev eth0 proto dhcp metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
172.19.0.0/16 dev br-efe3e86925e4 proto kernel scope link src 172.19.0.1
172.20.0.0/16 dev br-c1175ab9269c proto kernel scope link src 172.20.0.1
172.21.0.0/16 dev docker_gwbridge proto kernel scope link src 172.21.0.1
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.8 metric 100
192.168.10.0/24 dev eth1 proto kernel scope link src 192.168.10.115 metric 101
- 增加路由.表
按照上面百度后:
持久化:https://support.huaweicloud.com/vpc_faq/vpc_faq_0079.html
vim /etc/rc.local
# wait for nics up
sleep 5
# Add v4 routes for eth0
ip route flush table net0
ip route add default via 192.168.0.1 dev eth0 table net0
ip route add 192.168.0.0/24 dev eth0 table net0
ip rule add from 192.168.0.129 table net0
# Add v4 routes for eth1
ip route flush table net1
ip route add default via 192.168.1.1 dev eth1 table net1
ip route add 192.168.1.0/24 dev eth1 table net1
ip rule add from 192.168.1.138 table net1
# Add v4 routes for cloud-init
ip rule add to 169.254.169.254 table main
执行以下命令,添加rc.local文件的执行权限。
chmod +x /etc/rc.local
执行reboot命令,重启弹性云服务器。
重启后,执行以下命令,确认配置的路由规则和路由表生效,如果有多张路由表,依次执行。
对于IPv4:
ip rule
ip route show table net0
ip route show table net1
最后:购买公网ip就可以了。
启动ipv6
Linux操作系统(自动配置启用IPv6)
ipv6-setup-xxx工具能为开启IPv6协议栈的Linux操作系统自动配置动态获取IPv6地址。其中,xxx表示工具系列:rhel或debian。
您也可以参考Linux操作系统(手动配置启用IPv6)手动配置启用IPv6。
注意:
ipv6-setup-xxx工具运行时会自动重启网络服务,导致网络短暂不可用。
CentOS 6.x和Debian操作系统的云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,您可以参考设置云服务器获取IPv6地址超时时间设置获取IPv6地址超时时间为30s,然后再重新制作私有镜像。
执行如下命令,查看当前云服务器是否启用IPv6。
ip addr
如果没有开启IPv6协议栈,则只能看到IPv4地址,如下图所示,请参考2先开启IPv6协议栈。
图15 云服务器未开启IPv6协议栈
点击放大
如果已开启IPv6协议栈,则可以看到LLA地址(fe80开头)。
图16 云服务器已开启IPv6协议栈
点击放大
如果已开启IPv6协议栈并且已获取到IPv6地址,则会看到如下地址:
图17 云服务器已开启IPv6协议栈并且已获取到IPv6地址
点击放大
说明:
Linux公共镜像均已开启IPv6协议栈(即情况二);Ubuntu 16公共镜像不仅已开启IPv6协议栈,而且可以获取到IPv6地址(即情况三),无需特殊配置。
开启Linux云服务器IPv6协议栈。
执行如下命令,确认内核是否支持IPv6协议栈。
sysctl -a | grep ipv6
如果有输出信息,表示内核支持IPv6协议栈。
如果没有任何输出,说明内核不支持IPv6协议栈,需要执行2.b加载IPv6模块。
执行以下命令,加载IPv6模块。
modprobe ipv6
修改“/etc/sysctl.conf”配置文件,增加如下配置:
net.ipv6.conf.all.disable_ipv6=0
保存配置并退出,然后执行如下命令,加载配置。
sysctl -p
自动配置启用IPv6。
下载对应系统版本的工具ipv6-setup-rhel或ipv6-setup-debian,并上传至待操作的云服务器。
ipv6-setup-xxx工具会添加或者修改网卡设备的配置文件,添加IPv6动态获取的配置信息,然后重启网卡或者网络服务。ipv6-setup-rhel和ipv6-setup-debian的工具下载地址如表2所示。
表2 工具下载地址
系列
发行版
下载地址
RHEL
CentOS 6/7
EulerOS 2.2/2.3
Fedora 25
https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/ipv6/ipv6-setup-rhel
Debian
Ubuntu 16/18
Debian 8/9
https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/ipv6/ipv6-setup-debian
执行以下命令,添加执行权限。
chmod +x ipv6-setup-xxx
执行以下命令,指定一个网卡设备,配置动态获取IPv6地址。
./ipv6-setup-xxx --dev [dev]
示例:
./ipv6-setup-xxx --dev eth0
说明:
如需对所有网卡配置动态获取IPv6地址,命令为./ipv6-setup-xxx,即不带参数。
如需查询工具的用法,请执行命令./ipv6-setup-xxx --help。
Linux操作系统(手动配置启用IPv6)
注意:
CentOS 6.x和Debian操作系统的云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,您可以参考设置云服务器获取IPv6地址超时时间设置获取IPv6地址超时时间为30s,然后再重新制作私有镜像。
执行如下命令,查看当前云服务器是否启用IPv6。
ip addr
如果没有开启IPv6协议栈,则只能看到IPv4地址,如下图所示,请参考2先开启IPv6协议栈。
图18 未开启IPv6协议栈
点击放大
如果已开启IPv6协议栈,则可以看到LLA地址(fe80开头)。
图19 已开启IPv6协议栈
点击放大
如果已开启IPv6协议栈并且已获取到IPv6地址,则会看到如下地址:
图20 已开启IPv6协议栈并且已获取到IPv6地址
点击放大
说明:
Linux公共镜像均已开启IPv6协议栈(即情况二);Ubuntu 16公共镜像不仅已开启IPv6协议栈,而且可以获取到IPv6地址(即情况三),无需特殊配置。
开启Linux云服务器IPv6协议栈。
执行如下命令,确认内核是否支持IPv6协议栈。
sysctl -a | grep ipv6
如果有输出信息,表示内核支持IPv6协议栈。
如果没有任何输出,说明内核不支持IPv6协议栈,需要执行2.b加载IPv6模块。
执行以下命令,加载IPv6模块。
modprobe ipv6
修改“/etc/sysctl.conf”配置文件,增加如下配置:
net.ipv6.conf.all.disable_ipv6=0
保存配置并退出,然后执行如下命令,加载配置。
sysctl -p
手动配置启用IPv6。操作系统不同,步骤有所差别。
Ubuntu操作系统云服务器配置动态获取IPv6。
说明:
Ubuntu 18.04请执行以下操作步骤;Ubuntu 16.04操作系统已默认启用IPv6,不需要做任何配置操作。
修改“/etc/network/interface”配置文件,在“iface eth0 inet dhcp”下增加一行配置:
iface eth0 inet6 dhcp
(可选配置)配置网卡IPv6 LLA地址的生成方式为EUI64。
nmcli con modify “Wired connection 1” ipv6.addr-gen-mode eui64
执行以下命令,重启网络服务。
ifdown eth0
ifup eth0
Debian操作系统云服务器配置动态获取IPv6。
编辑“/etc/network/interfaces”文件,使之包含以下内容:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
iface eth0 inet6 dhcp
pre-up sleep 3
如果有多个网卡,则在“/etc/network/interfaces”文件中,增加对应网卡的配置,以eth1为例,需要增加:
auto eth1
iface eth1 inet dhcp
iface eth1 inet6 dhcp
pre-up sleep 3
执行如下命令重启网络服务。
service networking restart
说明:
如果将网卡进行down/up操作之后无法获取IPv6地址,也可以通过此命令重启网络服务。
执行步骤1检查是否已开启动态IPv6。
CentOS/EulerOS/Fedora操作系统云服务器配置动态获取IPv6。
编辑主网卡配置文件“/etc/sysconfig/network-scripts/ifcfg-eth0”。
补充如下配置项:
IPV6INIT=yes
DHCPV6C=yes
编辑“/etc/sysconfig/network”,按如下所示添加或修改以下行。
NETWORKING_IPV6=yes
CentOS 6系列从网卡需要编辑对应的配置文件,以eth1为例,编辑“/etc/sysconfig/network-scripts/ifcfg-eth1”。
补充如下配置项:
IPV6INIT=yes
DHCPV6C=yes
CentOS 6.3系统中默认ip6tables会过滤dhcpv6-client请求,所以CentOS 6.3除了需要编辑“ifcfg-eth*”文件外,还需要额外添加一条允许dhcpv6-client请求的ip6tables规则。操作如下:
执行以下命令,添加ip6tables规则。
ip6tables -A INPUT -m state --state NEW -m udp -p udp --dport 546 -d fe80::/64 -j ACCEPT
执行以下命令,保存ip6tables规则。
service ip6tables save
图21 命令示例
点击放大
(可选配置)CentOS 7系列需要将扩展网卡的IPv6 LLA地址模式修改为EUI64。
执行如下命令查看网卡信息。
nmcli con
图22 查看网卡信息
点击放大
将eth1的IPv6 LLA地址模式按以下命令修改为EUI64:
nmcli con modify “Wired connection 1” ipv6.addr-gen-mode eui64
通过ifconfig命令将eth1进行down/up操作。
ifdown eth1
ifup eth1
重启网络服务。
CentOS 6系列执行以下命令,重启网络服务。
service network restart
CentOS 7/EulerOS/Fedora系列执行以下命令,重启网络服务。
systemctl restart NetworkManager
执行步骤1检查是否已开启动态IPv6。
SUSE/openSUSE/CoreOS操作系统云服务器配置动态获取IPv6。
SUSE 11 SP4不支持IPv6自动获取。
SUSE 12 SP1、SUSE 12 SP2无需特殊配置。
openSUSE 13.2、openSUSE 42.2无需特殊配置。
CoreOS 10.10.5无需特殊配置。
设置云服务器获取IPv6地址超时时间
CentOS 6.x和Debian操作系统的云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,您可以参考本节操作设置获取IPv6地址超时时间为30s,然后再重新制作私有镜像。
CentOS 6.x:
执行以下命令编辑“dhclient.conf”文件。
vi /etc/dhcp/dhclient.conf
按“i”进入编辑模式,在文件中增加timeout属性。
timeout 30;
输入:wq保存后退出。
Debian 7.5:
执行以下命令编辑“networking”文件。
vi /etc/init.d/networking
按“i”进入编辑模式,增加延迟命令timeout,修改点如下图所示。
图23 修改点1
点击放大
图24 修改点2
点击放大
Debian 8.2.0/8.8.0
执行以下命令编辑“network-pre.conf”文件。
vi /lib/systemd/system/networking.service.d/network-pre.conf
按“i”进入编辑模式,在文件中增加timeout属性。
[Service]
TimeoutStartSec=30
Debian 9.0
执行以下命令编辑“networking.service”文件。
vi /etc/system/system/network-online.target.wants/networking.service
按“i”进入编辑模式,将TimeoutStartSec=5min改为TimeoutStartSec=30。