1、总结ip分类以及每个分类可以分配的IP数量
1)A类IP地址 分类规则:第一段号码为网络号码,剩下的三段号码为本地计算机的号码。 0 000 0000 - 0 111 1111: 1-127 网络数:126, 127 每个网络中的主机数:2^24-2 默认子网掩码:255.0.0.0 私网地址:10.0.0.0
2)B类IP地址 分类规则:前两段号码为网络号码,剩下的两段号码为本地计算机的号码。 10 00 0000 - 10 11 1111:128-191 网络数:2^14 每个网络中的主机数:2^16-2 默认子网掩码:255.255.0.0 私网地址:172.16.0.0-172.31.0.0
3)C类IP地址 分类规则:前三段号码为网络号码,剩下的一段号码为本地计算机的号码。 110 0 0000 - 110 1 1111: 192-223 网络数:2^21 每个网络中的主机数:2^8-2 默认子网掩码:255.255.255.0 私网地址:192.168.0.0-192.168.255.0
4)D类 组播 1110 0000 - 1110 1111: 224-239
5)E类 保留未使用 240-254
2、总结IP配置方法
2.1 网络配置方式
-
静态指定 ifconfig, route, netstat ip: object {link, addr, route}, ss, tc system-config-network-tui 配置文件
-
动态分配 DHCP: Dynamic Host Configuration Protocol
2.2 ifconfig 命令
临时禁用/启用网卡
[root@centos7 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:38:8b:70 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.202/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe38:8b70/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:38:8b:84 brd ff:ff:ff:ff:ff:ff
inet 172.168.20.116/24 brd 172.168.20.255 scope global noprefixroute dynamic eth1
valid_lft 691083sec preferred_lft 691083sec
inet6 fe80::f45:6445:670:fe25/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@centos7 ~]# ifconfig eth1 down
[root@centos7 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:38:8b:70 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.202/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe38:8b70/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 00:0c:29:38:8b:84 brd ff:ff:ff:ff:ff:ff
inet 172.168.20.116/24 brd 172.168.20.255 scope global noprefixroute dynamic eth1
valid_lft 690975sec preferred_lft 690975sec
[root@centos7 ~]# ifconfig eth1 up
[root@centos7 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:38:8b:70 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.202/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe38:8b70/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:38:8b:84 brd ff:ff:ff:ff:ff:ff
inet 172.168.20.116/24 brd 172.168.20.255 scope global noprefixroute dynamic eth1
valid_lft 691194sec preferred_lft 691194sec
inet6 fe80::f45:6445:670:fe25/64 scope link noprefixroute
valid_lft forever preferred_lft forever
临时配置网卡IP地址
[root@centos7 ~]# ifconfig eth1 192.168.204.100/24
[root@centos7 ~]# ip a | grep eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 192.168.204.100/24 brd 192.168.204.255 scope global noprefixroute eth1
对同一张网卡设置多个IP地址
[root@centos7 ~]# ifconfig eth1:test 192.168.204.1/24
[root@centos7 ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.202 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::20c:29ff:fe38:8b70 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:38:8b:70 txqueuelen 1000 (Ethernet)
RX packets 591 bytes 46600 (45.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 361 bytes 40885 (39.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.204.100 netmask 255.255.255.0 broadcast 192.168.204.255
inet6 fe80::f45:6445:670:fe25 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:38:8b:84 txqueuelen 1000 (Ethernet)
RX packets 1063 bytes 90143 (88.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 27 bytes 2698 (2.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1:test: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.204.1 netmask 255.255.255.0 broadcast 192.168.204.255
ether 00:0c:29:38:8b:84 txqueuelen 1000 (Ethernet)
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
网卡别名删除
[root@centos7 ~]# ifconfig eth1:test down
[root@centos7 ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.202 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::20c:29ff:fe38:8b70 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:38:8b:70 txqueuelen 1000 (Ethernet)
RX packets 689 bytes 53920 (52.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 416 bytes 48779 (47.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.204.100 netmask 255.255.255.0 broadcast 192.168.204.255
inet6 fe80::f45:6445:670:fe25 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:38:8b:84 txqueuelen 1000 (Ethernet)
RX packets 1150 bytes 97166 (94.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 27 bytes 2698 (2.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2.3 网络配置文件
以 /etc/sysconfig/network-scripts/ifcfg-eth0 文件为例
[root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=10.0.0.202
PREFIX=24
GATEWAY=10.0.0.2
DNS1=10.0.0.2
DNS2=180.76.76.76
ONBOOT=yes
2.4 ip 命令
2.4.1 配置Linux网络属性
ip [ OPTIONS ] OBJECT { COMMAND | help }
ip 命令说明:
OBJECT := { link | addr | route } ip link - network device configuration set dev IFACE,可设置属性:up and down:激活或禁用指定接口,相当于 ifup/ifdown show [dev IFACE] [up]::指定接口 ,up 仅显示处于激活状态的接口
2.4.2 IP 地址管理
添加/删除一个IP
[root@centos7 ~]# ip address add 1.1.1.2/24 dev eth0 label eth0:1
[root@centos7 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.2 0.0.0.0 UG 100 0 0 eth0
1.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
[root@centos7 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:38:8b:70 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.202/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet 1.1.1.2/24 scope global eth0:1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe38:8b70/64 scope link
valid_lft forever preferred_lft forever
[root@centos7 ~]# ip address del 1.1.1.2/24 dev eth0 label eth0:1
[root@centos7 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:38:8b:70 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.202/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe38:8b70/64 scope link
valid_lft forever preferred_lft forever
[root@centos7 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.2 0.0.0.0 UG 100 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
2.4.3 管理理由
ip route 用法
添加路由: ip route add TARGET via GW dev IFACE src SOURCE_IP TARGET: 主机路由:IP 网络路由:NETWORK/MASK 添加网关: ip route add default via GW dev IFACE 删除路由: ip route del TARGET 显示路由: ip route show|list 清空路由表: ip route flush [dev IFACE] [via PREFIX]
添加删除一条路由
[root@centos7 ~]# ip route
default via 10.0.0.2 dev eth0 proto static metric 100
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.202 metric 100
[root@centos7 ~]# ip route add 1.1.1.0/24 via 10.0.0.2 dev eth0 proto static metric 100
[root@centos7 ~]# ip route
default via 10.0.0.2 dev eth0 proto static metric 100
1.1.1.0/24 via 10.0.0.2 dev eth0 proto static metric 100
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.202 metric 100
[root@centos7 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.2 0.0.0.0 UG 100 0 0 eth0
1.1.1.0 10.0.0.2 255.255.255.0 UG 100 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
[root@centos7 ~]# ip route del 1.1.1.0/24 via 10.0.0.2
[root@centos7 ~]# ip route
default via 10.0.0.2 dev eth0 proto static metric 100
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.202 metric 100
3、使用nmcli实现bonding
nmcli命令
nmcli命令相关术语 设备即网络接口 连接是对网络接口的配置,一个网络接口可有多个连接配置,但同时只有一个连接配置生效
格式: nmcli [ OPTIONS ] OBJECT { COMMAND | help } device - show and manage network interfaces nmcli device help connection - start, stop, and manage network connections nmcli connection help
修改网卡某个接口逻辑上的NAME
[root@centos7 ~]# nmcli connection
NAME UUID TYPE DEVICE
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
[root@centos7 ~]# nmcli connection
NAME UUID TYPE DEVICE
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
Wired connection 1 143b5a3f-31e3-3f41-a659-f331c6dcc449 ethernet eth1
[root@centos7 ~]# nmcli connection modify Wired\ connection\ 1 con-name eth1-home
[root@centos7 ~]# nmcli connection
NAME UUID TYPE DEVICE
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
eth1-home 143b5a3f-31e3-3f41-a659-f331c6dcc449 ethernet eth1
[root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1-home
HWADDR=00:0C:29:38:8B:7A
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1-home
UUID=143b5a3f-31e3-3f41-a659-f331c6dcc449
ONBOOT=yes
AUTOCONNECT_PRIORITY=-999
nmcli实现bonding
添加bonding接口 nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup
[root@centos7 ~]# nmcli connection add con-name mybond0 ifname bond0 type bond ipv4.method manual ipv4.addresses 10.0.0.100/24
Connection 'mybond0' (63b8f5a5-4587-4034-b763-89c2dcb10d8d) successfully added.
[root@centos7 ~]# nmcli connection
NAME UUID TYPE DEVICE
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
eth1-home 143b5a3f-31e3-3f41-a659-f331c6dcc449 ethernet eth1
mybond0 63b8f5a5-4587-4034-b763-89c2dcb10d8d bond bond0
添加从属接口 nmcli con add type bond-slave ifname ens7 master bond0 nmcli con add type bond-slave ifname ens3 master bond0
[root@centos7 ~]# nmcli connection del eth1-home
Connection 'eth1-home' (143b5a3f-31e3-3f41-a659-f331c6dcc449) successfully deleted.
[root@centos7 ~]# nmcli connection
NAME UUID TYPE DEVICE
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
Wired connection 1 143b5a3f-31e3-3f41-a659-f331c6dcc449 ethernet eth1
mybond0 63b8f5a5-4587-4034-b763-89c2dcb10d8d bond bond0
[root@centos7 ~]# nmcli connection add con-name mybond0-eth1 ifname eth1 type bond-slave master bond0
Connection 'mybond0-eth1' (9705dba3-1e00-4d59-943e-6e0a7bae63b3) successfully added.
[root@centos7 ~]# nmcli connection
NAME UUID TYPE DEVICE
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
Wired connection 1 143b5a3f-31e3-3f41-a659-f331c6dcc449 ethernet eth1
mybond0 63b8f5a5-4587-4034-b763-89c2dcb10d8d bond bond0
mybond0-eth1 9705dba3-1e00-4d59-943e-6e0a7bae63b3 ethernet --
[root@centos7 ~]# nmcli connection delete Wired\ connection\ 1
Connection 'Wired connection 1' (143b5a3f-31e3-3f41-a659-f331c6dcc449) successfully deleted.
[root@centos7 ~]# nmcli connection
NAME UUID TYPE DEVICE
eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0
mybond0 63b8f5a5-4587-4034-b763-89c2dcb10d8d bond bond0
mybond0-eth1 9705dba3-1e00-4d59-943e-6e0a7bae63b3 ethernet eth1