centos看路由?支持docker的路由器
大家好,今天给各位分享centos看路由的一些知识,其中也会对支持docker的路由器进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
centos7查看路由表的命令是
在 CentOS7系统中,了解如何查看不同网络表是掌握网络管理的关键。以下就是如何查看各个网络表的命令:
首先,让我们从 ARP表开始。ARP(Address Resolution Protocol)用于将 IP地址解析为 MAC地址。在 CentOS7中,你可以使用 ip neigh命令查看 ARP表。这个命令会显示所有与本地网络接口相关的 ARP连接。
接下来,查看路由表。路由表用于决定数据包应通过哪个网络接口转发到目标地址。使用 ip route命令可以查看当前系统的路由表。这个命令会列出所有已配置的路由,以及默认路由。
如果你想了解系统当前的网络连接状态,可以使用 netstat或 ss命令。这两个命令都是查看网络连接状态的工具,但它们在输出格式上有所不同。使用 netstat命令,可以得到一个更为传统的网络状态报告。而使用 ss命令,则可以得到一个更为现代的、结构化的报告,包括 TCP、UDP和 SCTP连接的状态。
最后,如果你需要查看防火墙规则表,可以使用 iptables命令。iptables是 CentOS7系统中用于管理网络防火墙规则的工具。通过它,你可以创建、修改或删除防火墙规则,以控制网络流量。
综上所述,这些命令涵盖了 CentOS7系统中的主要网络表。掌握这些命令,将有助于你更深入地理解网络配置和管理。使用这些命令时,请根据实际情况选择合适的命令进行操作。
CentOS下如何查看网络状态CentOS下查看网络状态的方法
查看网络状态:
lsof-Pnl+M-i4显示ipv4服务及监听端情况
netstat-anp所有监听端口及对应的进程
netstat-tlnp功能同上
网络基本命令
(1)network service的制御网络接口配置信息改动后,网络服务必须从新启动,来激活网络新配置的使得配置生效,这部分操作和从新启动系统时时一样的作用。制御(控制)是/etc/init.d/network这个文件,可以用这个文件后面加上下面的参数来操作网络服务。例如:
[root@linux~]#/etc/init.d/networkrestart
同样也可以用service这个命令来操作网络服务例如:
[root@linux~]#service network restart
start启动
stop停止
restart再启动
reload和再启动一样(..)
status状态表示
如果服务器软件采用rpm的方式安装,以上的内容大多数都对应。
(2)network管理命令网络管理还有一些常用的命令,下面介绍几个常用的命令。
ifconfig
netstat
hostname
ping
traceroute
ifconfig
这个命令可以用于,网络接口的启动/停止,更改设置和表示网络状态,在不添加任何参数的情况下,这个ifconfig可以表示网络接口的状态。例如:
[root@linux~]# ifconfig
eth0 Link encap:Ethernet HWaddr00:xx:xx:xx:04:45
inet addr:192.168.1.81 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe61:445/64 Scope:Link
UPBROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RXpackets:472 errors:0 dropped:0 overruns:0 frame:0
TXpackets:445 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RXbytes:35804(34.9 KiB) TX bytes:53012(51.7 KiB)
Interrupt:185 Base address:0x1080
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr:::1/128 Scope:Host
UPLOOPBACK RUNNING MTU:16436 Metric:1
RXpackets:8 errors:0 dropped:0 overruns:0 frame:0
TXpackets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RXbytes:560(560.0 b) TX bytes:560(560.0b)
[root@linux~]#
看看ifconfig的输出内容
1. Link encap
2. HWaddr MAC地址
3.inet addr IP地址(IPV4)
4. Bcast广播地址
5. Mask衍码
6. inet6 addr IP地址(IPV6)
7. UP启动中
8. BROADCAST广播地址有效
9. RUNNING动作
10. MTU网络接口的MTU(MaximumTransfer Unit:Ethernet最大传送frame值)
11. Metric
12. RX packets受信包数
13. TX packets送信包数
14. collisions
15. interrupt IRQ号码
16. Baseaddress I/O地址
通过这个命令还可以up(开启)和down(关闭)某个网络接口(网卡),例如我们关闭eth0可以用下面的命令:
[root@linux~]#ifconfigeth0 down
相反的开启如下:
[root@linux~]#ifconfigeth0 up
通过这个命令还可以设置网络接口(网卡),例如我们将eth0的IP设置成192.168.1.11,子网衍码设置成255.255.255.0如下:
[root@linux~]#ifconfigetho inet 192.168.1.11 netmask 255.255.255.0
假如有多个网络接口的情况下,ethX的X部分用网络接口码(数字,例如eth0,eth1,eth2代替)。
netstat
这条命令是显示网络各种情况的命令,在不跟随任何参数被执行的情形下,将表示Active Internet connections和ActiveUNIX domain sockets的情报。
看看下面的输出信息:
这里是192.168.1.56正在通过ssh连接192.168.1.81的情形
[root@linux~]#netstat
Active Internetconnections(w/o servers)
Proto Recv-Q Send-QLocal Address ForeignAddress State
tcp 0 0::ffff:192.168.1.81:ssh::ffff:192.168.1.56:4757 ESTABLISHED
Active UNIX domainsockets(w/o servers)
Proto RefCntFlags Type State I-Node Path
unix 11 [ ] DGRAM 5202/dev/log
unix 2 [ ] DGRAM 5997@/var/run/hal/hotplug_socket
unix 2 [ ] DGRAM 2536@udevd
unix 2 [ ] DGRAM 7474
unix 3 [ ] STREAM CONNECTED 5995/var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 5994
unix 3 [ ] STREAM CONNECTED 5974
unix 3 [ ] STREAM CONNECTED 5973
unix 2 [ ] DGRAM 5933
unix 2 [ ] DGRAM 5923
unix 2 [ ] DGRAM 5876
unix 2 [ ] DGRAM 5819
unix 2 [ ] DGRAM 5805
unix 2 [ ] DGRAM 5786
unix 2 [ ] DGRAM 5723
unix 3 [ ] STREAM CONNECTED 5388
unix 3 [ ] STREAM CONNECTED 5387
unix 2 [ ] DGRAM 5280
unix 2 [ ] DGRAM 5210
[root@linux~]#
主要的选项:
-a显示所有socket,包括正在监听的。
-c每隔1秒就重新显示一遍,直到用户中断它。
-i显示所有网络接口的信息,格式同ipconfig-e。
-n以网络IP地址代替名称,显示出网络连接情形。
-r显示核心路由表,格式同route-e。
-t显示TCP协议的连接情况。
-u显示UDP协议的连接情况。
-v显示正在进行的工作。
以上的选项可以结合使用,例如我们想知道正在开放的TCP端口,可以用下面的形势执行察看:
[root@linux~]#netstat-at
Active Internetconnections(servers and established)
Proto Recv-Q Send-QLocal Address ForeignAddress State
tcp 0 0*:617*:* LISTEN
tcp 0 0*:sunrpc*:* LISTEN
tcp 0 0*:ipp*:* LISTEN
tcp 0 0 linux.xiaoqi.ddo.jp:smtp*:* LISTEN
tcp 0 0*:ssh*:* LISTEN
tcp 0 132::ffff:192.168.1.81:ssh::ffff:192.168.1.56:4757 ESTABLISHED
[root@linux~]#
其他使用方法可以自己尝试..
Hostname
这个命令是表示hostname和设置hostname用的,在不跟随任何选项被执行的情形下,将表示现在的hostname,例如下面的输出:
[root@linux~]#hostname
linux.xiaoqi.ddo.jp
[root@linux~]#
如果是root的登陆情形下,可以更改hostname,例如我们把现在的hostname改称centos的情形如下:
[root@linux~]#hostname centos
[root@linux~]#hostname
centos
[root@linux~]#
ping
这条命令是通过向目标地址发送ICMP信息包的方式,来确定目标主机是否在工作或网络联通与否。参数是目标主机的IP地址,例如我们要知道自己的主机的网络配置是否正常,可通过ping自己主机来判断,情形如下:
[root@linux~]# pinglocalhost//这个地方的localhost可以用127.0.0.1来代替,或目标地址IP地址或域名,通常还用这条命令来访问DNS服务器来取得目标主机的IP地址或域名等用法
PING linux.xiaoqi.ddo.jp(127.0.0.1) 56(84) bytes ofdata.
64 bytes fromlinux.xiaoqi.ddo.jp(127.0.0.1): icmp_seq=0 ttl=64 time=0.999 ms
64 bytes fromlinux.xiaoqi.ddo.jp(127.0.0.1): icmp_seq=1 ttl=64 time=0.630 ms
---linux.xiaoqi.ddo.jp ping statistics---
2 packetstransmitted, 2 received, 0% packet loss, time 1001ms//注意这个地方有一个0%表示网络正常,当此处的X%的X是0以外的数字就表明网络有问题,或者当ping命令被执行后,将会显示time out之类的字样。
rtt min/avg/max/mdev= 0.630/0.814/0.999/0.186 ms, pipe 2
[root@linux~]#
Ping命令的主要选项如下:
-c数目在发送指定数目的包后停止。
-d设定SO_DEBUG的选项。
-f大量且快速地送网络封包给一台机器,看它的回应。
-I秒数设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
-l次数在指定次数内,以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)。
-q不显示任何传送封包的信息,只显示最后的结果。
-r不经由网关而直接送封包到一台机器,通常是查看本机的网络接口是否有问题。
-s字节数指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。
更多信息和更多的命令可以在使用的过程中一点点学习,遇到问题的时候可以通过
#man命令
的形式来查看命令的用法
3.网络基本命令
(1)network service的制御网络接口配置信息改动后,网络服务必须从新启动,来激活网络新配置的使得配置生效,这部分操作和从新启动系统时时一样的作用。制御(控制)是/etc/init.d/network这个文件,可以用这个文件后面加上下面的参数来操作网络服务。例如:
[root@linux~]#/etc/init.d/networkrestart
同样也可以用service这个命令来操作网络服务例如:
[root@linux~]#service network restart
start启动
stop停止
restart再启动
reload和再启动一样(..)
status状态表示
如果服务器软件采用rpm的方式安装,以上的内容大多数都对应。
(2)network管理命令网络管理还有一些常用的命令,下面介绍几个常用的命令。
ifconfig
netstat
hostname
ping
traceroute
ifconfig
这个命令可以用于,网络接口的启动/停止,更改设置和表示网络状态,在不添加任何参数的情况下,这个ifconfig可以表示网络接口的状态。例如:
[root@linux~]# ifconfig
eth0 Link encap:Ethernet HWaddr00:xx:xx:xx:04:45
inet addr:192.168.1.81 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe61:445/64 Scope:Link
UPBROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RXpackets:472 errors:0 dropped:0 overruns:0 frame:0
TXpackets:445 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RXbytes:35804(34.9 KiB) TX bytes:53012(51.7 KiB)
Interrupt:185 Base address:0x1080
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr:::1/128 Scope:Host
UPLOOPBACK RUNNING MTU:16436 Metric:1
RXpackets:8 errors:0 dropped:0 overruns:0 frame:0
TXpackets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RXbytes:560(560.0 b) TX bytes:560(560.0b)
[root@linux~]#
看看ifconfig的输出内容
1. Link encap
2. HWaddr MAC地址
3.inet addr IP地址(IPV4)
4. Bcast广播地址
5. Mask衍码
6. inet6 addr IP地址(IPV6)
7. UP启动中
8. BROADCAST广播地址有效
9. RUNNING动作
10. MTU网络接口的MTU(MaximumTransfer Unit:Ethernet最大传送frame值)
11. Metric
12. RX packets受信包数
13. TX packets送信包数
14. collisions
15. interrupt IRQ号码
16. Baseaddress I/O地址
通过这个命令还可以up(开启)和down(关闭)某个网络接口(网卡),例如我们关闭eth0可以用下面的命令:
[root@linux~]#ifconfigeth0 down
相反的开启如下:
[root@linux~]#ifconfigeth0 up
通过这个命令还可以设置网络接口(网卡),例如我们将eth0的IP设置成192.168.1.11,子网衍码设置成255.255.255.0如下:
[root@linux~]#ifconfigetho inet 192.168.1.11 netmask 255.255.255.0
假如有多个网络接口的情况下,ethX的X部分用网络接口码(数字,例如eth0,eth1,eth2代替)。
netstat
这条命令是显示网络各种情况的命令,在不跟随任何参数被执行的情形下,将表示Active Internet connections和ActiveUNIX domain sockets的情报。
看看下面的输出信息:
这里是192.168.1.56正在通过ssh连接192.168.1.81的情形
[root@linux~]#netstat
Active Internetconnections(w/o servers)
Proto Recv-Q Send-QLocal Address ForeignAddress State
tcp 0 0::ffff:192.168.1.81:ssh::ffff:192.168.1.56:4757 ESTABLISHED
Active UNIX domainsockets(w/o servers)
Proto RefCntFlags Type State I-Node Path
unix 11 [ ] DGRAM 5202/dev/log
unix 2 [ ] DGRAM 5997@/var/run/hal/hotplug_socket
unix 2 [ ] DGRAM 2536@udevd
unix 2 [ ] DGRAM 7474
unix 3 [ ] STREAM CONNECTED 5995/var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 5994
unix 3 [ ] STREAM CONNECTED 5974
unix 3 [ ] STREAM CONNECTED 5973
unix 2 [ ] DGRAM 5933
unix 2 [ ] DGRAM 5923
unix 2 [ ] DGRAM 5876
unix 2 [ ] DGRAM 5819
unix 2 [ ] DGRAM 5805
unix 2 [ ] DGRAM 5786
unix 2 [ ] DGRAM 5723
unix 3 [ ] STREAM CONNECTED 5388
unix 3 [ ] STREAM CONNECTED 5387
unix 2 [ ] DGRAM 5280
unix 2 [ ] DGRAM 5210
[root@linux~]#
主要的选项:
-a显示所有socket,包括正在监听的。
-c每隔1秒就重新显示一遍,直到用户中断它。
-i显示所有网络接口的信息,格式同ipconfig-e。
-n以网络IP地址代替名称,显示出网络连接情形。
-r显示核心路由表,格式同route-e。
-t显示TCP协议的连接情况。
-u显示UDP协议的连接情况。
-v显示正在进行的工作。
以上的选项可以结合使用,例如我们想知道正在开放的TCP端口,可以用下面的形势执行察看:
[root@linux~]#netstat-at
Active Internetconnections(servers and established)
Proto Recv-Q Send-QLocal Address ForeignAddress State
tcp 0 0*:617*:* LISTEN
tcp 0 0*:sunrpc*:* LISTEN
tcp 0 0*:ipp*:* LISTEN
tcp 0 0 linux.xiaoqi.ddo.jp:smtp*:* LISTEN
tcp 0 0*:ssh*:* LISTEN
tcp 0 132::ffff:192.168.1.81:ssh::ffff:192.168.1.56:4757 ESTABLISHED
[root@linux~]#
其他使用方法可以自己尝试..
Hostname
这个命令是表示hostname和设置hostname用的,在不跟随任何选项被执行的情形下,将表示现在的hostname,例如下面的输出:
[root@linux~]#hostname
linux.xiaoqi.ddo.jp
[root@linux~]#
如果是root的登陆情形下,可以更改hostname,例如我们把现在的hostname改称centos的情形如下:
[root@linux~]#hostname centos
[root@linux~]#hostname
centos
[root@linux~]#
ping
这条命令是通过向目标地址发送ICMP信息包的方式,来确定目标主机是否在工作或网络联通与否。参数是目标主机的IP地址,例如我们要知道自己的主机的网络配置是否正常,可通过ping自己主机来判断,情形如下:
[root@linux~]# pinglocalhost//这个地方的localhost可以用127.0.0.1来代替,或目标地址IP地址或域名,通常还用这条命令来访问DNS服务器来取得目标主机的IP地址或域名等用法
PING linux.xiaoqi.ddo.jp(127.0.0.1) 56(84) bytes ofdata.
64 bytes fromlinux.xiaoqi.ddo.jp(127.0.0.1): icmp_seq=0 ttl=64 time=0.999 ms
64 bytes fromlinux.xiaoqi.ddo.jp(127.0.0.1): icmp_seq=1 ttl=64 time=0.630 ms
---linux.xiaoqi.ddo.jp ping statistics---
2 packetstransmitted, 2 received, 0% packet loss, time 1001ms//注意这个地方有一个0%表示网络正常,当此处的X%的X是0以外的数字就表明网络有问题,或者当ping命令被执行后,将会显示time out之类的字样。
rtt min/avg/max/mdev= 0.630/0.814/0.999/0.186 ms, pipe 2
[root@linux~]#
Ping命令的主要选项如下:
-c数目在发送指定数目的包后停止。
-d设定SO_DEBUG的选项。
-f大量且快速地送网络封包给一台机器,看它的回应。
-I秒数设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
-l次数在指定次数内,以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)。
-q不显示任何传送封包的信息,只显示最后的结果。
-r不经由网关而直接送封包到一台机器,通常是查看本机的网络接口是否有问题。
-s字节数指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。
更多信息和更多的命令可以在使用的过程中一点点学习,遇到问题的时候可以通过
#man命令
的形式来查看命令的用法
如何使用route命令查看 Linux内核路由表
使用下面的 route命令可以查看 Linux内核路由表。
# route
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0* 255.255.255.0 U 0 0 0 eth0
169.254.0.0* 255.255.0.0 U 0 0 0 eth0
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
route命令的输出项说明
输出项
说明
Destination
目标网段或者主机
Gateway
网关地址,”*”表示目标是本主机所属的网络,不需要路由
Genmask
网络掩码
Flags
标记。一些可能的标记如下:
U—路由是活动的
H—目标是一个主机
G—路由指向网关
R—恢复动态路由产生的表项
D—由路由的后台程序动态地安装
M—由路由的后台程序修改
!—拒绝路由
Metric
路由距离,到达指定网络所需的中转数(linux内核中没有使用)
Ref
路由项引用次数(linux内核中没有使用)
Use
此路由项被路由软件查找的次数
Iface
该路由表项对应的输出接口
3种路由类型
主机路由
主机路由是路由选择表中指向单个IP地址或主机名的路由记录。主机路由的Flags字段为H。例如,在下面的示例中,本地主机通过IP地址192.168.1.1的路由器到达IP地址为10.0.0.10的主机。
Destination Gateway Genmask Flags Metric Ref Use Iface-----------------------------------------------10.0.0.10 192.168.1.1 255.255.255.255 UH 0 0 0 eth0网络路由
网络路由是代表主机可以到达的网络。网络路由的Flags字段为N。例如,在下面的示例中,本地主机将发送到网络192.19.12的数据包转发到IP地址为192.168.1.1的路由器。
Destination Gateway Genmask Flags Metric Ref Use Iface----------------------------------------------192.19.12 192.168.1.1 255.255.255.0 UN 0 0 0 eth0默认路由
当主机不能在路由表中查找到目标主机的IP地址或网络路由时,数据包就被发送到默认路由(默认网关)上。默认路由的Flags字段为G。例如,在下面的示例中,默认路由是IP地址为192.168.1.1的路由器。
Destination Gateway Genmask Flags Metric Ref Use Iface-----------------------------------------------default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
配置静态路由
route命令
设置和查看路由表都可以用 route命令,设置内核路由表的命令格式是:
# route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]其中:
add:添加一条路由规则
del:删除一条路由规则
-net:目的地址是一个网络
-host:目的地址是一个主机
target:目的网络或主机
netmask:目的地址的网络掩码
gw:路由数据包通过的网关
dev:为路由指定的网络接口
route命令使用举例
添加到主机的路由
# route add-host 192.168.1.2 dev eth0:0# route add-host 10.20.30.148 gw 10.20.30.40
添加到网络的路由
# route add-net 10.20.30.40 netmask 255.255.255.248 eth0
# route add-net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41# route add-net 192.168.1.0/24 eth1添加默认路由
# route add default gw 192.168.1.1
删除路由
# route del-host 192.168.1.2 dev eth0:0
# route del-host 10.20.30.148 gw 10.20.30.40
# route del-net 10.20.30.40 netmask 255.255.255.248 eth0
# route del-net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
# route del-net 192.168.1.0/24 eth1# route del default gw 192.168.1.1
设置包转发
在 CentOS中默认的内核配置已经包含了路由功能,但默认并没有在系统启动时启用此功能。开启 Linux的路由功能可以通过调整内核的网络参数来实现。要配置和调整内核参数可以使用 sysctl命令。例如:要开启 Linux内核的数据包转发功能可以使用如下的命令。
# sysctl-w net.ipv4.ip_forward=1这样设置之后,当前系统就能实现包转发,但下次启动计算机时将失效。为了使在下次启动计算机时仍然有效,需要将下面的行写入配置文件/etc/sysctl.conf。
# vi/etc/sysctl.confnet.ipv4.ip_forward= 1用户还可以使用如下的命令查看当前系统是否支持包转发。
# sysctl net.ipv4.ip_forward