linux网络基本之ip命令

预备知识准备如下,需尽可能全面了解,如有不足,自行再做补充:

1、以太网卡:应用最多的网络设备;

2、拓扑网络的几种类型:总线型网络,星型网络,环形网络等,还有总体以这三种为基础的其他网络。
3、MAC:media access control 它是一种控制机制,只能在同一网络中进行通信,伴随他的还有一种机制叫CSMA/CD,
CSMA/CD:Carrier sense multiple access with collision detection (CSMA/CD) is a media access control method 
顾名思义:载波侦听多路访问,这里不必多说。
4、Token Ring:令牌环机制;每个主机接入这个环形网络时候,都会被分配一个接口,发送报文时需要拿到这个令牌,然后才能发送报文给其他计算机。
5、hub:其实是总线型网络,同一个端口接收信号的同时,不能发送信号;
6、路由:隔离广播,实现网络间通信;相关路由协议;
7、IP地址:要想实现网络之间通信,必须的逻辑地址;
8、交换机:实现广播,隔离冲突域;
9、通信介质(有线和无线):双绞线(家庭网络通常使用的网线),同轴线缆;电磁波;
10、tcp/ip:这两种报文的格式,还请读者务必牢记,因为在涉及防火墙iptables服务时候会用到;此外,如ARP/RARP/UDP/TCP/DNS/ICMP...
等常用网络协议的定义,以及标准的分层结构和原理要明白,在此不再多说;
11、通信是在传输层的进程间进行的,所以对应层间的协议有端口来标记进程,例如Tcp和Udp协议的端口号范围可分别定义在(0-65535)来标记进程;
12、IP分的分段网络地址:
四段共32位,第一段,二进制十进制对应关系的取值范围,并非网络地址的范围:
A:0 0000000 - 0111 1111:0-127
B:10 000000 - 1011 1111:128-191
C:110 00000 - 1101 1111:192-223
D: 1110 0000 - 1110 1111:224-239
E: 1111 0000 - 1111 1111:240-255
全0:网络地址
全1:广播地址
A类:1-126
126个网络
每个网络中的主机:2^24-2
B类:128-191
2^14个网络
每个网络中的主机:2^16-2
C类:192-223
2^21个网络
每个网络中的主机:2^8-2

留用的内部私有地址,不允许在Intenet中使用的网络段:
A类 10.0.0.0--10.255.255.255
B类 172.16.0.0--172.31.255.255
C类 192.168.0.0--192.168.255.255

route命令用于显示和操作ip路由表,要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux中,设置路由通常是为了解决类似这样的问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。
在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;


配置路由:route-ethX

route add -net 192.168.0.0/24 gw 172.16.100.177
ps:在/etc/sysconfig/network-script/下,自己创建编辑文件vim route-eth0


配置文件的格式1:每行一个要配置的路由条目

DEST via NEXT_HOP
配置文件的格式2:每一组一个路由条目
ADDRESS#=Dest
NETMASK#=Netmask
GATEWAY#=Gateway
例子:
ADDRESS0=192.168.0.0
NETMASK0=255.255.255.0
GATEWAY0=172.166.100.17

ADDRESS1=192.168.1.10
NETMASK1=255.255.255.255
GATEWAY1=172.162.10.99


1、利用别名在一个网卡上配置多个地址:
[root@bogon ~]# ifconfig eth0:0 192.168.169.169
[root@bogon ~]# ifconfig eth0:1 192.168.199.199
[root@bogon ~]# ip route show
192.168.199.0/24 dev eth0  proto kernel  scope link  src 192.168.199.199 
192.168.169.0/24 dev eth0  proto kernel  scope link  src 192.168.169.169 
192.168.136.0/24 dev eth0  proto kernel  scope link  src 192.168.136.128 
169.254.0.0/16 dev eth0  scope link  metric 1002 
default via 192.168.136.2 dev eth0 


2、使用set关闭和启用多播:
[root@bogon ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:6e:c3:77 brd ff:ff:ff:ff:ff:ff
[root@bogon ~]# ip link set eth0 multicast off
[root@bogon ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:6e:c3:77 brd ff:ff:ff:ff:ff:ff
[root@bogon ~]# ip link set eth0 multicast on
[root@bogon ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:6e:c3:77 brd ff:ff:ff:ff:ff:ff


3、ifup/ifdown两个命令其实是/etc/sysconfig/network-scripts目录下的两个脚本文件;表示启动网卡和关闭网卡;
示例如下:
[root@bogon ~]#ifdown eth0
[root@bogon ~]#ifup eth0


4、使用ip addr 命令对同一网卡添加多个ip地址,可以使用别名;如果删除,只需把add换成del;
#或者这样也行:[root@bogon ~]# ip addr add dev eth0 192.168.1.100
[root@bogon ~]# ip addr add dev eth0 192.168.1.100 label eth0:0
[root@bogon ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
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 qlen 1000
link/ether 00:0c:29:6e:c3:77 brd ff:ff:ff:ff:ff:ff
inet 192.168.136.128/24 brd 192.168.136.255 scope global eth0
inet 192.168.1.100/32 scope global eth0:0
inet6 fe80::20c:29ff:fe6e:c377/64 scope link 
valid_lft forever preferred_lft forever
此外,有一个不常用的命令,ip addr flush 删除地址需要注意的是,删除这一个网段的网络地址:
[root@bogon ~]#ip addr flush eth0 to 172.168.0.0/16 #这样是删除了所有这个网络的ip地址;也可以后接主机地址;


5、使用ip route 命令来添加指定网络路由;
[root@bogon ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:6e:c3:77 brd ff:ff:ff:ff:ff:ff
inet 192.168.136.128/24 brd 192.168.136.255 scope global eth0
inet 192.168.1.100/32 scope global eth0:0
inet 192.168.1.10/32 scope global eth0
inet6 fe80::20c:29ff:fe6e:c377/64 scope link 
valid_lft forever preferred_lft forever
[root@bogon ~]# ip route add 192.168.0.0/24 via 192.168.1.100
[root@bogon ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     192.168.1.100   255.255.255.0   UG    0      0        0 eth0
192.168.136.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.136.2   0.0.0.0         UG    0      0        0 eth0


6、使用192.168.1.100做为源地址到达10.0.0.0这个网络;
[root@bogon ~]# ip route add 10.0.0.0/8 via 192.168.136.1 src 192.168.1.100
[root@bogon ~]# ip route show
192.168.0.0/24 via 192.168.1.100 dev eth0 
192.168.136.0/24 dev eth0  proto kernel  scope link  src 192.168.136.128 
169.254.0.0/16 dev eth0  scope link  metric 1002 
10.0.0.0/8 via 192.168.136.1 dev eth0  src 192.168.1.100 
default via 192.168.136.2 dev eth0 


ifconfig和route都是比较古老的命令了,建议掌握并学会使用ip addr和ip route 这两个新的命令,因为在web配置服务时候可能会用到;
小结:
ip命令的使用:
ip link
ip link show [Interface]
ip link set Interface [up|down] [multicast on|off]


ip addr:
可以在一个接口配置多个地址而不使用接口别名;显示这些地址
ip addr show
ip addr add dev Interface Address [label Interface_alias]
ip addr del dev Interface Address

ip addr show Interface
ip addr flush Interface [to Net_Address] 删除这一网络的所有主机地址

ip route
ip route add DESTINATION [via NEXT_HOP] [src SOURCE_ADDRESS] [dev DEVICE]
ip route del DESTINATION

ip route show 


启用/禁用接口:
ip link set Interface up|down
ifconfig Interface up|down
ifdown Interface, ifup Interface: 

扩充: 网络管理或监测等相关的命令如ping、netstat等自行查阅如何使用;
与netstat类似的命令还有:
[root@bogon ~]# rpm -ql iproute | grep "bin"
/sbin/bridge
/sbin/cbq
/sbin/ifcfg
/sbin/ip
/sbin/rtmon
/sbin/tc
/usr/sbin/arpd
/usr/sbin/lnstat
/usr/sbin/nstat
/usr/sbin/rtacct
/usr/sbin/ss


图形界面的配置:
#配置结束后将保存配置文件中
[root@bogon ~]#system-config-network-tui
[root@bogon ~]#setup 

配置文件/etc/sysconfig/network-scripts/ifcfg-eth0的说明:
DEVICE=eth0
此配置关联至的设备,设备名要与文件名ifcfg-后的内容保持一致;
BOOTPROTO=none
引导协议:{none|static|dhcp|bootp}   #如果此处是dhcp,UUID="2d2225e7-13bf-4764-a9f1-5ccccbaf36a6"以下行都可以省略;
HWADDR=00:0c:29:97:r5:84
MAC地址:要与真实MAC地址保持一致;可省略;
NM_CONTROLLED=yes
是否接受NetworkManager脚本控制;{yes|no}
ONBOOT=yes
是否关机自动启用此网络设备, {yes|no}
TYPE=Ethernet
设备类型:如Ethernet, Bridge
UUID="2d2225e7-13bf-4764-a9f1-5ccccbaf36a6"
惟一标识,可省略;
IPADDR=172.19.100.7
IP地址
NETMASK=255.255.0.0
掩码
GATEWAY=172.19.0.1
默认网关
DNS1=172.19.0.1
DNS服务地址
IPV6INIT=no
是否自动初始化IPv6协议地址;
USERCTL=no
是否允许普通用户启用或禁用此网络设备;
PEERDNS={yes|no}
是否允许DHCP服务分配地址时直接更新/etc/resolv.conf中的DNS服务器地址;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值