centos 网络相关

新安装完CentOS Linux,发现配置 完apache后没法访问,估计是防火墙问题。

/etc/init.d/iptables status

会得到一系列信息 ,说明防火墙开着。

 

/etc/init.d/iptables stop

/etc/init.d/iptables start

/etc/init.d/iptables restart 

 1. ping
功能说明:检测主机。
语  法:ping [-dfnqrRv][-c][-i][-I]
[-l][-p][-s][-t][主机名称或
IP地址]
补充说明:执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
参  数:
-d 使用Socket的SO_DEBUG功能。
-c 设置完成要求回应的次数。
-f 极限检测。
-i 指定收发信息的间隔时间。
-I 使用指定的网络界面送出数据包。
-l 设置在送出要求信息之前,先行发出的数据包。
-n 只输出数值。
-p 设置填满数据包的范本样式。
-q 不显示指令执行过程,开头和结尾的相关信息除外。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。
-R 记录路由过程。
-s 设置数据包的大小。
-t 设置存活数值TTL的大小。
-v 详细显示指令的执行过程。
实例:
测试网络是否畅通:ping -c 3 192.168.1.1
注意:
1) ping不通大多数是由防火墙设置造成的。
2. ifconfig
功能说明:显示或设置网络设备。
语  法:ifconfig [网络设备][down up -allmulti -arp
-promisc][add][del][
][io_addr][irq
][media][mem_start][metric][mtu][netmask][tunnel][-broadcast]
[-pointopoint][IP地址]
参  数:
add 设置网络设备IPv6的IP地址。
del 删除网络设备IPv6的IP地址。
down 关闭指定的网络设备。
设置网络设备的类型与硬件地址。
io_addr 设置网络设备的I/O地址。
irq 设置网络设备的IRQ。
media 设置网络设备的媒介类型。
mem_start 设置网络设备在主内存所占用的起始地址。
metric 指定在计算数据包的转送次数时,所要加上的数目。
mtu 设置网络设备的MTU(maximum transfer unit)。
netmask 设置网络设备的子网掩码。
tunnel 建立IPv4与IPv6之间的隧道通信地址。
up 启动指定的网络设备。
-broadcast 将要送往指定地址的数据包当成广播数据包来处理。
-pointopoint 与指定地址的网络设备建立直接连线,此模式具有保密功能。
-promisc 关闭或启动指定网络设备的promiscuous模式。
[IP地址] 指定网络设备的IP地址。
[网络设备] 指定网络设备的名称。
实例:
激活网络设备:ifconfig eth0 up

更改网络设备信息: #ifconfig eth0 192.168.1.112 netmask 255.255.255.0

关闭网络设备:ifconfig eth0 down
修改网卡的MAC地址:
ifconfig eth0 down
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
ifconfig eth0 up
注意:
1)使用ifconfig命令配置网络参数只能在本次启动有效,下次启动系统会读取配置文件的相关信息。
3. route
功能说明:显示/修改路由表。
语法: route add/del [-net|-host] 目标主机或网域 [netmask] [gw|dev]   -nee
参数:
-n   :列出的信息以 IP 来显示
-ee   :列出较长列的信息
add   :增加路由信息
net   :删除一个路由信息
-net  :增加一个『网域』的路由,例如 C Class 的网域!
-host  :增加到某个 IP 主机的路由!
netmask :就是 netmask 呀!
gw    :这个是路由的通讯闸! gw  是以 IP 来建置的
dev   :这个是路由的通讯闸! dev 是以 界面 ( internet ) 代号来建置的!
实例:
[root@test root]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref  Use Iface
140.116.141.253 *               255.255.255.255 UH    0      0      0 ppp0
192.168.1.0     *               255.255.255.0   U     0      0      0 eth0
127.0.0.0       *               255.0.0.0       U     0      0      0 lo
default         140.116.141.253 0.0.0.0         UG    0      0      0 ppp0
 
[root@test root]# route -n  
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
140.116.141.253 0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         140.116.141.253 0.0.0.0         UG    0      0        0 ppp0
注意到 route, route -n 这两个范例喔!使用 -n 与否会使 domain 是否进行查询,
一般来说,我都喜欢加上 -n 的,因为不必去查询正反解,显示速度较快,
此外, default gateway 就是 0.0.0.0 喔!
 
[root@test root]# route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0  
# 新增一个路由规则!
 
[root@test root]# route del -net 192.168.0.0 netmask 255.255.255.0 dev eth0
# 删除一个路由啰
 
[root@test root]# route add default gw 192.168.1.2  
# 增加一个 default gateway 呢!
注意一下, gw 后面接的是 IP ,而 dev 后面接的则是装置代号喔!
显示内容的意义:

Destination:
目标,可以是 IP 也可以是网域!至于没有规定到的,则是以 default 来表示!以上面为例,当我的机器要去 192.168.1.0
的时候,则以上表的 192.168.1.0 那一行的设定为主,但如果我要去 tw.yahoo.com 的时候,由于没有规定到!所以就要以
default 的信息为主要的路由!因此,我就会经由 140.116.141.253 这个 gateway 来传送出去我的封包啰!
Gateway :该目标要经由哪一个网关传送?就是这一个设定值啦! Genmask :
就是该 Destination 的 netmask 啰!例如 140.116.141.253 为 255.255.255.255
,因为他是一个 host 而不是一个 network 呀!至于 192.168.1.0 就是 255.255.255.0 这个 C Class
啰!那如果是 default 的话,就显示 0.0.0.0 ,也就是不论是哪里,都出自这一个 gateway 就是了!
Flages :旗标,有底下几种 Flage 呢:
  • U (route is up):该路由已经启动了;
  • H (target is a host):目标是一个主机( IP ),例如上面范例中的 140.116.141.253 那一个;
  • G (use gateway):用来作为 gateway 的设定;
  • R (reinstate route for dynamic routing):使用动态路由时,恢复路由信息的旗标;
  • D (dynamically installed by daemon or redirect):已经由服务或转 port 功能设定为 动态路由;
  • M (modified from routing daemon or redirect):路由已经被修改了;
  • !  (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)
Iface :该设定使用的网络接口
   

注意:
1)当发现下达 route 的时候,显示的速度很慢时,通常是路由信息有一定的问题存在!果真如此的话,务必仔细的检查一下设定,否则对于网络速度会有迟滞现象。(以上关于route命令的解释转自
鸟哥私房菜
4. nslookup
功能说明:查询一台机器的IP地址和其对应的域名。
语法:nslookup [-option] [name | -] [server]
参数:
exit   退出交互模式
sever  提供解析域名的服务器地址
set   设置属性: all,domain=name, port=数字,type=类型(查询类型,A,HNFO,PTR,NS等),rety=秒数,timeout=秒数
实例:
$nslookup  www.baidu.com
$nslookup  21.44.176.169
注:nslookup不推荐使用了,推荐使用dig和host命令。




路由表和静态路由

内容提要

  1. 查看 Linux 内核路由表
  2. 使用 route 命令设置静态路由
  3. 设置包转发

Linux 内核路由表

查看 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.conf
net.ipv4.ip_forward = 1

用户还可以使用如下的命令查看当前系统是否支持包转发。

# sysctl  net.ipv4.ip_forward
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章