在linux中如何为ULA自动配置IP地址

在linux中如何为ULA自动配置IP地址,第1张

ULA 不像本地链路地址那样自动配置的,但是使用 radvd 设置自动配置是非常容易的,radva 是路由器公告守护程序。在你开始之前,运行 ifconfig 或者 ip addr show 去查看你现有的 IP 地址。

在生产系统上使用时,你应该将 radvd 安装在一台单独的路由器上,如果只是测试使用,你可以将它安装在你的网络中的任意 Linux PC 上。在我的小型 KVM 测试实验室中,我使用 apt-get install radvd 命令把它安装在 Ubuntu 上。安装完成之后,我先不启动它,因为它还没有配置文件:

$sudo systemctl status radvd

●radvd.service - LSB: Router Advertising Daemon

Loaded: loaded(/etc/init.d/radvdbadvendor preset: enabled)

Active: active(exited)since Mon2017-12-1120:08:25PST4min59sago

Docs: man:systemd-sysv-generator(8)

Dec1120:08:25ubunut1 systemd[1]: Starting LSB: Router Advertising Daemon...

Dec1120:08:25ubunut1 radvd[3541]: Starting radvd:

Dec1120:08:25ubunut1 radvd[3541]: * /etc/radvd.conf does notexist orisempty.

Dec1120:08:25ubunut1 radvd[3541]: * See /usr/share/doc/radvd/README.Debian

Dec1120:08:25ubunut1 radvd[3541]: * radvd will *not* be started.

Dec1120:08:25ubunut1 systemd[1]: Started LSB: Router Advertising Daemon.

这些所有的消息有点让人困惑,实际上 radvd 并没有运行,你可以使用经典命令 ps | grep radvd 来验证这一点。因此,我们现在需要去创建 /etc/radvd.conf 文件。拷贝这个示例,将第一行的网络接口名替换成你自己的接口名字:

interfaceens7{

AdvSendAdvert on

MinRtrAdvInterval3

MaxRtrAdvInterval10

prefix fd7d:844d:3e17:f3ae::/64

{

AdvOnLink on

AdvAutonomous on

}

}

前缀(prefix)定义了你的网络地址,它是地址的前 64 位。前两个字符必须是 fd,前缀接下来的剩余部分你自己定义它,最后的 64 位留空,因为 radvd 将去分配最后的 64 位。前缀后面的 16 位用来定义子网,剩余的地址定义为主机地址。你的子网必须总是 /64。RFC 4193 要求地址必须随机生成;查看 在 KVM 中测试 IPv6 Networking:第 1 部分 学习创建和管理 ULAs 的更多知识。

IPv6 转发

IPv6 转发必须要启用。下面的命令去启用它,重启后生效:

$sudo sysctl -wnet.ipv6.conf.all.forwarding=1

取消注释或者添加如下的行到 /etc/sysctl.conf 文件中,以使它永久生效:

net.ipv6.conf.all.forwarding = 1

启动 radvd 守护程序:

$sudo systemctl stop radvd

$sudo systemctl start radvd

这个示例在我的 Ubuntu 测试系统中遇到了一个怪事;radvd 总是停止,我查看它的状态却没有任何问题,做任何改变之后都需要重新启动 radvd。

启动成功后没有任何输出,并且失败也是如此,因此,需要运行 sudo systemctl status radvd 去查看它的运行状态。如果有错误,systemctl 会告诉你。一般常见的错误都是 /etc/radvd.conf 中的语法错误。

在 Twitter 上抱怨了上述问题之后,我学到了一件很酷的技巧:当你运行 journalctl -xe --no-pager 去调试 systemctl 错误时,你的输出会被换行,然后,你就可以看到错误信息。

现在检查你的主机,查看它们自动分配的新地址:

$ifconfig

ens7 Link encap:Ethernet HWaddr52:54:00:57:71:50

[...]

inet6 addr: fd7d:844d:3e17:f3ae:9808:98d5:bea9:14d9/64Scope:Global

[...]

配置 静态 ip

配置网络需要的文件 ifcfg-eth0文件 路径:eth/sysconfig/network-scripts/ifcfg-eth0

ifcfg-eth0文件配置解析:

TYPE=Ethernet

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

IPADDR=10.0.1.27

NETMASK=255.255.255.0

GATEWAY=10.0.1.1

BROADCAST=10.10.1.255

HWADDR=00:0C:29:13:5D:74

PEERDNS=yes

DNS1=10.0.1.41

USERCTL=no

NM_CONTROLLED=no

IPV6INIT=yes

IPV6ADDR=FD55:faaf:e1ab:1B0D:10:14:24:106/64

1. 配置参数说明

注:这些参数值不区分大小写,不区分单引号和双引号,甚至可以不用引号。

TYPE:配置文件接口类型。在/etc/sysconfig/network-scripts/目录有多种网络配置文件,有Ethernet 、IPsec等类型,网络接口类型为Ethernet。

DEVICE:网络接口名称

BOOTPROTO:系统启动地址协议

none:不使用启动地址协议

bootp:BOOTP协议

dhcp:DHCP动态地址协议

static:静态地址协议

ONBOOT:系统启动时是否激活

yes:系统启动时激活该网络接口

no:系统启动时不激活该网络接口

IPADDR:IP地址

NETMASK:子网掩码

GATEWAY:网关地址

BROADCAST:广播地址

HWADDR/MACADDR:MAC地址。只需设置其中一个,同时设置时不能相互冲突。

PEERDNS:是否指定DNS。如果使用DHCP协议,默认为yes。

yes:如果DNS设置,修改/etc/resolv.conf中的DNS

no:不修改/etc/resolv.conf中的DNS

DNS{1, 2}:DNS地址。当PEERDNS为yes时会被写入/etc/resolv.conf中。

NM_CONTROLLED:是否由Network

Manager控制该网络接口。修改保存后立即生效,无需重启。被其坑过几次,建议一般设为no。 yes:由Network Manager控制

no:不由Network Manager控制

USERCTL:用户权限控制

yes:非root用户允许控制该网络接口

no:非root用户不运行控制该网络接口

IPV6INIT:是否执行IPv6

yes:支持IPv6

no:不支持IPv6

IPV6ADDR:IPv6地址/前缀长度

2.配置生效

为了使网络配置永久有效,就需要在/etc/sysconfig/network-scripts/下修改网络接口配置文件。但是,这些文件修改后,并不能立即生效。有两种方式使修改文件的网络配置生效:

(1) 执行service network restart命令,重启网络服务(推荐)

(2) 重启计算机

配置 动态 ip(自动分配)

使用chkconfig命令让网络服务在系统启动级别是2345时默认启动。

chkconfig –level 2345 network on

修改ifcfg-eth0文件,设置ONBOOT的值为yes,让网络服务启动时使用该网卡。设置BOOTPROTO的值为dhcp,让网卡从DHCP服务器自动获取IP地址。

修改ifcfg-eth0文件,设置ONBOOT的值为yes,让网络服务启动时使用该网卡。设置BOOTPROTO的值为dhcp,让网卡从DHCP服务器自动获取IP地址。

使用 命令 修改 vi /etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=yes

BOOTPROTO=dhcp

临时 配置 ip

使用命令来执行 ifconfig eth0 192.168.0.1(自己要设置的IP)这个命令是更改主机IP http://www.iis7.com/b/plc/?1-5.html,回车后你什么都看不到,就表示成功了,但是此命令所做的更改在下次重启后就会失效。

ifconfig eth0 network 255.255.255.0(自己设置的子网掩码)该命令是设置主机的子网掩码,所做的设置也是临时的。

设置自动获取IP地址方法:

(1)右键“网络链接”选择“属性”打开网络连接管理界面。

(2)在打开的窗户中找到:Internet协议(TCP/IP) 双击打开或者单击选中,单击属性。

(3)选择自动获取IP地址和选择自动获取DNS服务器地址。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8530879.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存