从
linux
诞生的那一天起
,
就注定了它的网络功能空前地强大
.
所以在
linux
系统中如何配置网络
,
使其高效
,
安全的工作就显得十分重要
.
下面我们就从网络设备的安装
,
网络服务的设置和网络安全性三个方面来介绍一下
linux
系统中网络的设置
.
一.安装和配置网络设备
在安装 linux 时 , 如果你有网卡 , 安装程序将会提示你给出 tcp/ip 网络的配置参数 , 如本机的 ip 地址 , 缺省网关的 ip 地址 ,DNS 的 ip 地址等等 . 根据这些配置参数 , 安装程序将会自动把网卡 (linux 系统首先要支持 ) 驱动程序编译到内核中去 . 但是我们一定要了解加载网卡驱动程序的过程 , 那么在以后改变网卡 , 使用多个网卡的时候我们就会很容易的操作 . 网卡的驱动程序是作为模块加载到内核中去的 , 所有 linux 支持的网卡驱动程序都是存放在目录 /lib/modules/(linux 版本号 )/net/ , 例如 inter 的 82559 系列 10/100M 自适应的引导网卡的驱动程序是 eepro100.o,3COM 的 3C509 ISA 网卡的驱动程序是 3C509.o,DLINK 的 pci 10 网卡的驱动程序是 via-hine.o,NE2000 兼容性网卡的驱动程序是 ne2k-pci.o 和 ne.o. 在了解了这些基本的驱动程序之后 , 我们就可以通过修改模块配置文件来更换网卡或者增加网卡 .
1. 修改 /etc/conf.modules 文件
这个配置文件是加载模块的重要参数文件 , 大家先看一个范例文件
#/etc/conf.modules
alias eth0 eepro100
alias eth1 eepro100
这个文件是一个装有两块 inter 82559 系列网卡的 linux 系统中的 conf.modules 中的内容 .alias 命令表明以太口 ( 如 eth0) 所具有的驱动程序的名称 ,alias eth0 eepro100 说明在零号以太网口所要加载的驱动程序是 eepro100.o. 那么在使用命令 modprobe eth0 的时候 , 系统将自动将 eepro100.o 加载到内核中 . 对于 pci 的网卡来说 , 由于系统会自动找到网卡的 io 地址和中断号 , 所以没有必要在 conf.modules 中使用选项 options 来指定网卡的 io 地址和中断号 . 但是对应于 ISA 网卡 , 则必须要在 conf.modules 中指定硬件的 io 地址或中断号 , 如下所示 , 表明了一块 NE 的 ISA 网卡的 conf.modules 文件 .
alias eth0 ne
options ne io=0x300 irq=5
在修改完 conf.modules 文件之后 , 就可以使用命令来加载模块 , 例如要插入 inter 的第二块网卡 :
#insmod /lib/modules/2.2.14/net/eepro100.o
这样就可以在以太口加载模块 eepro100.o. 同时 , 还可以使用命令来查看当前加载的模块信息 :
[root@ice /etc]# lsmod
Module Size Used by
eepro100 15652 2 (autoclean)
返回结果的含义是当前加载的模块是 eepro100, 大小是 15652 个字节 , 使用者两个 , 方式是自动清除 .
一.安装和配置网络设备
在安装 linux 时 , 如果你有网卡 , 安装程序将会提示你给出 tcp/ip 网络的配置参数 , 如本机的 ip 地址 , 缺省网关的 ip 地址 ,DNS 的 ip 地址等等 . 根据这些配置参数 , 安装程序将会自动把网卡 (linux 系统首先要支持 ) 驱动程序编译到内核中去 . 但是我们一定要了解加载网卡驱动程序的过程 , 那么在以后改变网卡 , 使用多个网卡的时候我们就会很容易的操作 . 网卡的驱动程序是作为模块加载到内核中去的 , 所有 linux 支持的网卡驱动程序都是存放在目录 /lib/modules/(linux 版本号 )/net/ , 例如 inter 的 82559 系列 10/100M 自适应的引导网卡的驱动程序是 eepro100.o,3COM 的 3C509 ISA 网卡的驱动程序是 3C509.o,DLINK 的 pci 10 网卡的驱动程序是 via-hine.o,NE2000 兼容性网卡的驱动程序是 ne2k-pci.o 和 ne.o. 在了解了这些基本的驱动程序之后 , 我们就可以通过修改模块配置文件来更换网卡或者增加网卡 .
1. 修改 /etc/conf.modules 文件
这个配置文件是加载模块的重要参数文件 , 大家先看一个范例文件
#/etc/conf.modules
alias eth0 eepro100
alias eth1 eepro100
这个文件是一个装有两块 inter 82559 系列网卡的 linux 系统中的 conf.modules 中的内容 .alias 命令表明以太口 ( 如 eth0) 所具有的驱动程序的名称 ,alias eth0 eepro100 说明在零号以太网口所要加载的驱动程序是 eepro100.o. 那么在使用命令 modprobe eth0 的时候 , 系统将自动将 eepro100.o 加载到内核中 . 对于 pci 的网卡来说 , 由于系统会自动找到网卡的 io 地址和中断号 , 所以没有必要在 conf.modules 中使用选项 options 来指定网卡的 io 地址和中断号 . 但是对应于 ISA 网卡 , 则必须要在 conf.modules 中指定硬件的 io 地址或中断号 , 如下所示 , 表明了一块 NE 的 ISA 网卡的 conf.modules 文件 .
alias eth0 ne
options ne io=0x300 irq=5
在修改完 conf.modules 文件之后 , 就可以使用命令来加载模块 , 例如要插入 inter 的第二块网卡 :
#insmod /lib/modules/2.2.14/net/eepro100.o
这样就可以在以太口加载模块 eepro100.o. 同时 , 还可以使用命令来查看当前加载的模块信息 :
[root@ice /etc]# lsmod
Module Size Used by
eepro100 15652 2 (autoclean)
返回结果的含义是当前加载的模块是 eepro100, 大小是 15652 个字节 , 使用者两个 , 方式是自动清除 .
2. 修改/etc/lilo.conf文件
在一些比较新的linux版本中,由于操作系统自动检测所有相关的硬件,所以此时不必修改/etc/lilo.conf文件.但是对于ISA网卡和老的版本,为了在系统初始化中对新加的网卡进行初始化,可以修改lilo.conf文件.在/etc/lilo.conf文件中增加如下命令:
append="ether=5,0x240,eth0 ether=7,0x300,eth1"
这条命令的含义是eth0的io地址是0x240,中断是5,eth1的io地址是0x300,中断是7.
实际上,这条语句来自在系统引导影像文件时传递的参数,
LILO: linux ether=5,0x240,eth0 ether=7,0x300,eth1
这种方法也同样能够使linux系统配置好两个网卡.类似的,在使用三个以上网卡的时候,也可以依照同样的方法.
在配置好网卡之后,就应该配置TCP/IP的参数,在一般情况下,在安装linux系统的同时就会提示你配置网络参数.但是之后如果我们想要修改网络设置,可以使用如下的命令:
#ifconfig eth0 A.B.C.D netmask E.F.G.H
A.B.C.D 是eth0的IP地址,E.F.G.H是网络掩码.
其实,在linux系统中我们可以给一块网卡设置多个ip地址,例如下面的命令:
#ifconfig eth0:1 202.112.11.218 netmask 255.255.255.192
然后,使用命令#ifconfig -a 就可以看到所有的网络接口的界面:
eth0 Link encap:Ethernet HWaddr 00:90:27:58:AF:1A
inet addr:202.112.13.204 Bcast:202.112.13.255 Mask:255.255.255.192
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:435510 errors:0 dropped:0 overruns:0 frame:2
TX packets:538988 errors:0 dropped:0 overruns:0 carrier:0
collisions:318683 txqueuelen:100
Interrupt:10 Base address:0xc000
eth0:1 Link encap:Ethernet HWaddr 00:90:27:58:AF:1A
inet addr:202.112.11.218 Bcast:202.112.11.255 Mask:255.255.255.192
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:10 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:2055 errors:0 dropped:0 overruns:0 frame:0
TX packets:2055 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
我们看到网络接口有三个,eth0 , eth0:1,lo,eth0是真实的以太网络接口,eth0:1和eth0是同一块网卡,只不过绑定了另外的一个地址,lo是会送地址。eth0和eth0:1可以使用不同网段的ip地址,这在同一个物理网段却使用不同的网络地址的时候十分有用。
另外,网卡有一种模式是混杂模式(prosimc),在这个模式下,网卡将会接收网络中所有的数据包,一些linux下的网络监听工具例如tcpdump,snort等等都是把网卡设置为混杂模式.
ifconfig命令可以在本次运行的时间内改变网卡的ip地址,但是如果系统重新启动,linux仍然按照原来的默认的设置启动网络接口。这时候,可以使用netconfig或netconf命令来重新设置默认网络参数。
netconfig 命令是重新配置基本的tcp/ip参数,参数包括是否配置为动态获得ip地址(dhcpd和bootp),网卡的ip地址,网络掩码,缺省网关和首选的域名服务器地址。netconf命令可以详细的配置所有网络的参数,分为客户端任务,服务器端任务和其他的配置三个部分,在客户端的配置中,主要包括基本主机的配置(主机名,有效域名,网络别名,对应相应网卡的ip地址,网络掩码,网络设备名,网络设备的内核驱动程序),DNS地址配置,缺省网关的地址配置,NIS地址配置,ipx接口配置,ppp/slip的配置等等。在服务器端配置中,主要包括NFS的配置,DNS的配置,ApacheWebServer配置,Samba的配置和Wu-ftpd的配置。在其他的配置选项中,一个是关于/etc/hosts文件中的主机配置,一个是关于/etc/networks文件中的网络配置信息,最后是关于使用linuxconf配置的信息。
在linuxconf命令下,同样也可以配置网络信息,但是大家可以发现,linuxconf程序是调用netconf来进行网络配置的。
另外,在/etc/sysconfig/network-scripts目录下存放着系统关于网络的配置文件,范例如下:
ifcfg-eth0* ifdown-post* ifup-aliases* ifup-ppp*
ifcfg-eth1* ifdown-ppp* ifup-ipx* ifup-routes*
ifcfg-lo* ifdown-sl* ifup-plip* ifup-sl*
ifdown@ ifup@ ifup-post* network-functions
ifcfg-eth0是以太口eth0的配置信息,它的内容如下:
DEVICE="eth0" /*指明网络设备名称*/
IPADDR="202.112.13.204" /*指明网络设备的ip地址*/
NETMASK="255.255.255.192" /*指明网络掩码*/
NETWORK=202.112.13.192 /*指明网络地址*/
BROADCAST=202.112.13.255 /*指明广播地址*/
ONBOOT="yes" /*指明在系统启动时是否激活网卡*/
BOOTPROTO="none" /*指明是否使用bootp协议*/
所以,我们也可以修改这个文件来进行linux下网络参数的改变。
在一些比较新的linux版本中,由于操作系统自动检测所有相关的硬件,所以此时不必修改/etc/lilo.conf文件.但是对于ISA网卡和老的版本,为了在系统初始化中对新加的网卡进行初始化,可以修改lilo.conf文件.在/etc/lilo.conf文件中增加如下命令:
append="ether=5,0x240,eth0 ether=7,0x300,eth1"
这条命令的含义是eth0的io地址是0x240,中断是5,eth1的io地址是0x300,中断是7.
实际上,这条语句来自在系统引导影像文件时传递的参数,
LILO: linux ether=5,0x240,eth0 ether=7,0x300,eth1
这种方法也同样能够使linux系统配置好两个网卡.类似的,在使用三个以上网卡的时候,也可以依照同样的方法.
在配置好网卡之后,就应该配置TCP/IP的参数,在一般情况下,在安装linux系统的同时就会提示你配置网络参数.但是之后如果我们想要修改网络设置,可以使用如下的命令:
#ifconfig eth0 A.B.C.D netmask E.F.G.H
A.B.C.D 是eth0的IP地址,E.F.G.H是网络掩码.
其实,在linux系统中我们可以给一块网卡设置多个ip地址,例如下面的命令:
#ifconfig eth0:1 202.112.11.218 netmask 255.255.255.192
然后,使用命令#ifconfig -a 就可以看到所有的网络接口的界面:
eth0 Link encap:Ethernet HWaddr 00:90:27:58:AF:1A
inet addr:202.112.13.204 Bcast:202.112.13.255 Mask:255.255.255.192
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:435510 errors:0 dropped:0 overruns:0 frame:2
TX packets:538988 errors:0 dropped:0 overruns:0 carrier:0
collisions:318683 txqueuelen:100
Interrupt:10 Base address:0xc000
eth0:1 Link encap:Ethernet HWaddr 00:90:27:58:AF:1A
inet addr:202.112.11.218 Bcast:202.112.11.255 Mask:255.255.255.192
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:10 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:2055 errors:0 dropped:0 overruns:0 frame:0
TX packets:2055 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
我们看到网络接口有三个,eth0 , eth0:1,lo,eth0是真实的以太网络接口,eth0:1和eth0是同一块网卡,只不过绑定了另外的一个地址,lo是会送地址。eth0和eth0:1可以使用不同网段的ip地址,这在同一个物理网段却使用不同的网络地址的时候十分有用。
另外,网卡有一种模式是混杂模式(prosimc),在这个模式下,网卡将会接收网络中所有的数据包,一些linux下的网络监听工具例如tcpdump,snort等等都是把网卡设置为混杂模式.
ifconfig命令可以在本次运行的时间内改变网卡的ip地址,但是如果系统重新启动,linux仍然按照原来的默认的设置启动网络接口。这时候,可以使用netconfig或netconf命令来重新设置默认网络参数。
netconfig 命令是重新配置基本的tcp/ip参数,参数包括是否配置为动态获得ip地址(dhcpd和bootp),网卡的ip地址,网络掩码,缺省网关和首选的域名服务器地址。netconf命令可以详细的配置所有网络的参数,分为客户端任务,服务器端任务和其他的配置三个部分,在客户端的配置中,主要包括基本主机的配置(主机名,有效域名,网络别名,对应相应网卡的ip地址,网络掩码,网络设备名,网络设备的内核驱动程序),DNS地址配置,缺省网关的地址配置,NIS地址配置,ipx接口配置,ppp/slip的配置等等。在服务器端配置中,主要包括NFS的配置,DNS的配置,ApacheWebServer配置,Samba的配置和Wu-ftpd的配置。在其他的配置选项中,一个是关于/etc/hosts文件中的主机配置,一个是关于/etc/networks文件中的网络配置信息,最后是关于使用linuxconf配置的信息。
在linuxconf命令下,同样也可以配置网络信息,但是大家可以发现,linuxconf程序是调用netconf来进行网络配置的。
另外,在/etc/sysconfig/network-scripts目录下存放着系统关于网络的配置文件,范例如下:
ifcfg-eth0* ifdown-post* ifup-aliases* ifup-ppp*
ifcfg-eth1* ifdown-ppp* ifup-ipx* ifup-routes*
ifcfg-lo* ifdown-sl* ifup-plip* ifup-sl*
ifdown@ ifup@ ifup-post* network-functions
ifcfg-eth0是以太口eth0的配置信息,它的内容如下:
DEVICE="eth0" /*指明网络设备名称*/
IPADDR="202.112.13.204" /*指明网络设备的ip地址*/
NETMASK="255.255.255.192" /*指明网络掩码*/
NETWORK=202.112.13.192 /*指明网络地址*/
BROADCAST=202.112.13.255 /*指明广播地址*/
ONBOOT="yes" /*指明在系统启动时是否激活网卡*/
BOOTPROTO="none" /*指明是否使用bootp协议*/
所以,我们也可以修改这个文件来进行linux下网络参数的改变。
转载于:https://blog.51cto.com/linuxsir/70984