linux網(wǎng)卡配置修改IP地址
查看文章linux 網(wǎng)卡配置修改IP 地址要修改的文件:1./etc/sysconfig/network-scripts/ifcfg-eth02./etc/sysconfig/network3./et
查看文章
linux 網(wǎng)卡配置修改IP 地址
要修改的文件:
1./etc/sysconfig/network-scripts/ifcfg-eth0
2./etc/sysconfig/network
3./etc/resolv.conf
4./etc/init.d/network restart 重啟網(wǎng)卡,生效
A 、修改ip 地址
即時(shí)生效:
# ifconfig eth0 192.168.0.20 netmask 255.255.255.0
啟動生效:
修改/etc/sysconfig/network-scripts/ifcfg-eth0
B 、修改default gateway
即時(shí)生效:
# route add default gw 192.168.0.254
啟動生效:
修改/etc/sysconfig/network-scripts/ifcfg-eth0
C 、修改dns
修改/etc/resolv.conf
修改后可即時(shí)生效,啟動同樣有效
D 、修改host name
# vi /etc/sysconfig/network
具體細(xì)節(jié):
要建立一個(gè)安全Linux 服務(wù)器就首先要了解Linux 環(huán)境下和網(wǎng)絡(luò)服務(wù)相關(guān)的配置文件的含義及如何進(jìn)行安全的配置。在Linux 系統(tǒng)中,TCP/IP網(wǎng)絡(luò)是通
,過若干個(gè)文本文件進(jìn)行配置的,也許你需要編輯這些文件來完成聯(lián)網(wǎng)工作,但是這些配置文件大都可以通過配置命令linuxconf(其中網(wǎng)絡(luò)部分的配置可以通過netconf 命令來實(shí)現(xiàn)) 命令來實(shí)現(xiàn)。下面介紹基本的 TCP/IP網(wǎng)絡(luò)配置文件。 * /etc/conf.modules 文件
該配置文件定義了各種需要在啟動時(shí)加載的模塊的參數(shù)信息。這里主要著重討論關(guān)于網(wǎng)卡的配置。在使用Linux 做網(wǎng)關(guān)的情況下,Linux 服務(wù)器至少需要配置兩塊網(wǎng)卡。為了減少啟動時(shí)可能出現(xiàn)的問題,Linux 內(nèi)核不會自動檢測多個(gè)網(wǎng)卡。對于沒有將網(wǎng)卡的驅(qū)動編譯到內(nèi)核而是作為模塊動態(tài)載入的系統(tǒng)若需要安裝多塊網(wǎng)卡,應(yīng)該在“conf.modules”文件中進(jìn)行相應(yīng)的配置。
若設(shè)備驅(qū)動被編譯為模塊(內(nèi)核的模塊):對于PCI 設(shè)備,模塊將自動檢測到所有已經(jīng)安裝到系統(tǒng)上的設(shè)備;對于ISA 卡,則需要向模塊提供IO 地址,以使模塊知道在何處尋找該卡,這些信息在“/etc/conf.modules”中提供。 例如,我們有兩塊ISA 總線的3c509卡,一個(gè)IO 地址是0x300,另一個(gè)是0x320。編輯“conf.modules”文件如下:
alias eth0 3c509
alias eth1 3c509
options 3c509 io=0x300,0x320
這是說明3c509的驅(qū)動程序應(yīng)當(dāng)分別以eth0或eth1的名稱被加載(alias eth0,eth1),并且它們應(yīng)該以參數(shù)io=0x300,0x320被裝載,來通知驅(qū)動程序到哪里去尋找網(wǎng)卡,其中0x 是不可缺少的。
對于PCI 卡,僅僅需要alias 命令來使ethN 和適當(dāng)?shù)尿?qū)動模塊名關(guān)聯(lián),PCI 卡的IO 地址將會被自動的檢測到。對于PCI 卡,編輯“conf.modules”文件如下:
alias eth0 3c905
alias eth1 3c905
若驅(qū)動已經(jīng)被編譯進(jìn)了內(nèi)核:系統(tǒng)啟動時(shí)的PCI 檢測程序?qū)詣诱业剿邢嚓P(guān)的網(wǎng)卡。ISA 卡一般也能夠被自動檢測到,但是在某些情況下,ISA 卡仍然需要做下面的配置工作:
在“/etc/lilo.conf”中增加配置信息,其方法是通過LILO 程序?qū)訁?shù)信息傳遞給內(nèi)核。對于ISA 卡,編輯“l(fā)ilo.conf”文件,增加如下內(nèi)容: append=" ether="0,0,eth0 ether="0,0,eth1"
,注:先不要在“l(fā)ilo.conf”中加入啟動參數(shù),測試一下你的ISA 卡,若失敗再使用啟動參數(shù)。
如果用傳遞啟動參數(shù)的方法,eth0和eth1將按照啟動時(shí)被發(fā)現(xiàn)的順序來設(shè)置。
* /etc/HOSTNAME 文件
該文件包含了系統(tǒng)的主機(jī)名稱,包括完全的域名,如:deep.openarch.com 。 */etc/sysconfig/network-scripts/ifcfg-ethN 文件
在RedHat 中,系統(tǒng)網(wǎng)絡(luò)設(shè)備的配置文件保存在
“/etc/sysconfig/network-scripts”目錄下,ifcfg-eth0包含第一塊網(wǎng)卡的配置信息,ifcfg-eth1包含第二塊網(wǎng)卡的配置信息。
下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例: DEVICE=eth0
IPADDR=208.164.186.1
NETMASK=255.255.255.0
NETWORK=208.164.186.0
BROADCAST=208.164.186.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
若希望手工修改網(wǎng)絡(luò)地址或在新的接口上增加新的網(wǎng)絡(luò)界面,可以通過修改對應(yīng)的文件(ifcfg-ethN )或創(chuàng)建新的文件來實(shí)現(xiàn)。
DEVICE=name name 表示物理設(shè)備的名字
IPADDR=addr addr 表示賦給該卡的IP 地址
NETMASK=mask mask 表示網(wǎng)絡(luò)掩碼
NETWORK=addr addr 表示網(wǎng)絡(luò)地址
BROADCAST=addr addr表示廣播地址
,ONBOOT=yes/no 啟動時(shí)是否激活該卡
none :無須啟動協(xié)議
bootp :使用bootp 協(xié)議
dhcp :使用dhcp 協(xié)議
USERCTL=yes/no 是否允許非root 用戶控制該設(shè)備 */etc/resolv.conf 文件
該文件是由域名解析器(resolver ,一個(gè)根據(jù)主機(jī)名解析IP 地址的庫)使用的配置文件,示例如下:
search openarch.com
nameserver 208.164.186.1
nameserver 208.164.186.2
“search domainname.com”表示當(dāng)提供了一個(gè)不包括完全域名的主機(jī)名時(shí),在該主機(jī)名后添加domainname.com 的后綴;“nameserver”表示解析域名時(shí)使用該地址指定的主機(jī)為域名服務(wù)器。其中域名服務(wù)器是按照文件中出現(xiàn)的順序來查詢的。
*/etc/host.conf 文件
該文件指定如何解析主機(jī)名。Linux 通過解析器庫來獲得主機(jī)名對應(yīng)的IP 地址。下面是一個(gè)“/etc/host.conf”的示例:
order bind,hosts
multi on
ospoof on
“order bind,hosts”指定主機(jī)名查詢順序,這里規(guī)定先使用DNS 來解析域名,然后再查詢“/etc/hosts”文件(也可以相反) 。
“multi on”指定是否“/etc/hosts”文件中指定的主機(jī)可以有多個(gè)地址,擁有多個(gè)IP 地址的主機(jī)一般稱為多穴主機(jī)。
“nospoof on”指不允許對該服務(wù)器進(jìn)行IP 地址欺騙。IP 欺騙是一種攻擊系統(tǒng)安全的手段,通過把IP 地址偽裝成別的計(jì)算機(jī),來取得其它計(jì)算機(jī)的信任。
,*/etc/sysconfig/network 文件
該文件用來指定服務(wù)器上的網(wǎng)絡(luò)配置信息,下面是一個(gè)示例:
NETWORK=yes
RORWARD_IPV4=yes
HOSTNAME=deep.openarch.com
GAREWAY=0.0.0.0
GATEWAYDEV=
NETWORK=yes/no 網(wǎng)絡(luò)是否被配置;
FORWARD_IPV4=yes/no 是否開啟IP 轉(zhuǎn)發(fā)功能
HOSTNAME=hostname hostname表示服務(wù)器的主機(jī)名
GAREWAY=gw-ip gw-ip 表示網(wǎng)絡(luò)網(wǎng)關(guān)的IP 地址
GAREWAYDEV=gw-dev gw-dw表示網(wǎng)關(guān)的設(shè)備名,如:etho 等 注意:為了和老的軟件相兼容,“/etc/HOSTNAME”文件應(yīng)該用和HOSTNAME=hostname相同的主機(jī)名。
*/etc/hosts 文件
當(dāng)機(jī)器啟動時(shí),在可以查詢DNS 以前,機(jī)器需要查詢一些主機(jī)名到IP 地址的匹配。這些匹配信息存放在/etc/hosts文件中。在沒有域名服務(wù)器情況下,系統(tǒng)上的所有網(wǎng)絡(luò)程序都通過查詢該文件來解析對應(yīng)于某個(gè)主機(jī)名的IP 地址。 下面是一個(gè)“/etc/hosts”文件的示例:
IP Address Hostname Alias
127.0.0.1 Localhost
Gate.openarch.com
208.164.186.1 gate.openarch.com Gate
???? ???? ???
最左邊一列是主機(jī)IP 信息,中間一列是主機(jī)名。任何后面的列都是該主機(jī)的別名。一旦配置完機(jī)器的網(wǎng)絡(luò)配置文件,應(yīng)該重新啟動網(wǎng)絡(luò)以使修改生效。使用下面的命令來重新啟動網(wǎng)絡(luò):/etc/rc.d/init.d/network restart
,* /etc/inetd.conf 文件
眾所周知,作為服務(wù)器來說,服務(wù)端口開放越多,系統(tǒng)安全穩(wěn)定性越難以保證。所以提供特定服務(wù)的服務(wù)器應(yīng)該盡可能開放提供服務(wù)必不可少的端口,而將與服務(wù)器服務(wù)無關(guān)的服務(wù)關(guān)閉,比如:一臺作為www 和ftp 服務(wù)器的機(jī)器,應(yīng)該只開放80 和25端口,而將其他無關(guān)的服務(wù)如:finger auth 等服務(wù)關(guān)掉,以減少系統(tǒng)漏洞。
而inetd ,也叫作“超級服務(wù)器”,就是監(jiān)視一些網(wǎng)絡(luò)請求的守護(hù)進(jìn)程,其根據(jù)網(wǎng)絡(luò)請求來調(diào)用相應(yīng)的服務(wù)進(jìn)程來處理連接請求。inetd.conf 則是inetd 的配置文件。inetd.conf 文件告訴inetd 監(jiān)聽哪些網(wǎng)絡(luò)端口,為每個(gè)端口啟動哪個(gè)服務(wù)。在任何的網(wǎng)絡(luò)環(huán)境中使用Linux 系統(tǒng),第一件要做的事就是了解一下服務(wù)器到底要提供哪些服務(wù)。不需要的那些服務(wù)應(yīng)該被禁止掉,最好卸載掉,這樣黑客就少了一些攻擊系統(tǒng)的機(jī)會。查看“/etc/inetd.conf”文件,了解一下inetd 提供哪些服務(wù)。用加上注釋的方法(在一行的開頭加上#號),禁止任何不需要的服務(wù),再給inetd 進(jìn)程發(fā)一個(gè)SIGHUP 信號。
第一步:把文件的許可權(quán)限改成600。
[root@deep]# chmod 600 /etc/inetd.conf
第二步:確信文件的所有者是root 。
[root@deep]# stat /etc/inetd.conf
第三步:編輯“inetd.conf”文件(vi /etc/inetd.conf),禁止所有不需要的服務(wù),如:ftp 、 telnet、 shell、 login、 exec、talk 、ntalk 、 imap、 pop-2、pop-3、finger 、auth ,等等。如果你覺得某些服務(wù)有用,可以不禁止這些服務(wù)。但是,把這些服務(wù)禁止掉,系統(tǒng)受攻擊的可能性就會小很多。改變后的“inetd.conf”文件的內(nèi)容如下面所示:
# To re-read this file after changes, just do a 'killall -HUP inetd' #
#echo stream tcpnowait root internal
#echo dgramudp wait root internal
#discard stream tcpnowait root internal
#discard dgramudp wait root internal
#daytime stream tcpnowait root internal
,#daytime dgramudp wait root internal
#chargen stream tcpnowait root internal
#chargendgramudp wait root internal
#time stream tcpnowait root internal
#time dgramudp wait root internal
#
# These are standard services.
#
#ftp stream tcpnowait root /usr/sbin/tcpdin.ftpd -l -a #telnet stream tcpnowait root /usr/sbin/tcpdin.telnetd #
# Shell, login, exec, comsat and talk are BSD protocols. #
#shell stream tcpnowait root /usr/sbin/tcpdin.rshd #login stream tcpnowait root /usr/sbin/tcpdin.rlogind #exec stream tcpnowait root /usr/sbin/tcpdin.rexecd #comsatdgramudp wait root /usr/sbin/tcpdin.comsat #talk dgramudp wait root /usr/sbin/tcpdin.talkd #ntalkdgramudp wait root /usr/sbin/tcpdin.ntalkd
#dtalk stream tcp wait nobody /usr/sbin/tcpdin.dtalkd #
# Pop and imap mail services et al
#
,#pop-2 stream tcpnowait root /usr/sbin/tcpd ipop2d
#pop-3 stream tcpnowait root /usr/sbin/tcpd ipop3d
#imap stream tcpnowait root /usr/sbin/tcpdimapd
#
# The Internet UUCP service.
#
#uucp stream tcpnowaituucp /usr/sbin/tcpd /usr/lib/uucp/uucico -l #
# Tftp service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers." Do not uncomment # this unless you *need* it.
#
#tftpdgramudp wait root /usr/sbin/tcpdin.tftpd
#bootpsdgramudp wait root /usr/sbin/tcpdbootpd
#
# Finger, systat and netstat give out user information which may be # valuable to potential "system crackers." Many sites choose to disable
# some or all of these services to improve security.
#
#finger stream tcpnowait root /usr/sbin/tcpdin.fingerd
#cfinger stream tcpnowait root /usr/sbin/tcpdin.cfingerd
#systat stream tcpnowait guest /usr/sbin/tcpd /bin/ps -auwwx
,#netstat stream tcpnowait guest /usr/sbin/tcpd /bin/netstat -f inet #
# Authentication
#
#auth stream tcpnowait nobody /usr/sbin/in.identdin.identd -l -e -o #
# End of inetd.conf
注意:改變了“inetd.conf”文件之后,別忘了給inetd 進(jìn)程發(fā)一個(gè)SIGHUP 信號(killall –HUP inetd)。
[root@deep /root]# killall -HUP inetd
第四步:
為了保證“inetd.conf”文件的安全,可以用chattr 命令把它設(shè)成不可改變。把文件設(shè)成不可改變的只要用下面的命令:
[root@deep]# chattr i /etc/inetd.conf
這樣可以避免“inetd.conf”文件的任何改變(意外或是別的原因)。一個(gè)有“i”屬性的文件是不能被改動的:不能刪除或重命名,不能創(chuàng)建這個(gè)文件的鏈接,不能往這個(gè)文件里寫數(shù)據(jù)。只有系統(tǒng)管理員才能設(shè)置和清除這個(gè)屬性。如果要改變inetd.conf 文件,你必須先清除這個(gè)不允許改變的標(biāo)志:
[root@deep]# chattr -i /etc/inetd.conf
但是對于諸如sendmail ,named ,www 等服務(wù),由于它們不象finger ,telnet 等服務(wù),在請求到來時(shí)由inet 守護(hù)進(jìn)程啟動相應(yīng)的進(jìn)程提供服務(wù),而是在系統(tǒng)啟動時(shí),作為守護(hù)進(jìn)程運(yùn)行的。而對于redhatlinux ,提供了一個(gè)linuxconfig 命令,可以通過它在圖形界面下交互式地設(shè)置是否在啟動時(shí)運(yùn)行相關(guān)服務(wù)。也可以通過命令來設(shè)置是否啟動時(shí)啟動某個(gè)服務(wù),如:[root@deep]# chkconfig –level 35 named off
具體命令可以參考man chkconfig的說明。
* /etc/hosts.allow 文件
但是對于telnet 、ftp 等服務(wù),如果將其一同關(guān)閉,那么對于管理員需要遠(yuǎn)程管理時(shí),將非常不方便。Linux 提供另外一種更為靈活和有效的方法來實(shí)現(xiàn)對服務(wù)請求用戶的限制,從而可以在保證安全性的基礎(chǔ)上,使可信任用戶使
,用各種服務(wù)。Linux 提供了一個(gè)叫TCP wrapper的程序。在大多數(shù)發(fā)布版本中該程序往往是缺省地被安裝。利用TCP wrapper你可以限制訪問前面提到的某些服務(wù)。而且TCP wrapper 的記錄文件記錄了所有的企圖訪問你的系統(tǒng)的行為。通過last 命令查看該程序的log ,管理員可以獲知誰曾經(jīng)或者企圖連接你的系統(tǒng)。
在/etc目錄下,有兩個(gè)文件:hosts.denyhosts.allow 通過配置這兩個(gè)文件,你可以指定哪些機(jī)器可以使用這些服務(wù),哪些不可以使用這些服務(wù)。
當(dāng)服務(wù)請求到達(dá)服務(wù)器時(shí),TCP wrapper就按照下列順序查詢這兩個(gè)文件,直到遇到一個(gè)匹配為止:
1. 當(dāng)在/etc/hosts.allow里面有一項(xiàng)與請求服務(wù)的主機(jī)地址項(xiàng)匹配,那么就允許該主機(jī)獲取該服務(wù)
2. 否則,如果在/etc/hosts.deny里面有一項(xiàng)與請求服務(wù)的主機(jī)地址項(xiàng)匹配,就禁止該主機(jī)使用該項(xiàng)服務(wù)。
3. 如果相應(yīng)的配置文件不存在,訪問控制軟件就認(rèn)為是一個(gè)空文件,所以可以通過刪除或者移走配置文件實(shí)現(xiàn)對清除所有設(shè)置。在文件中,空白行或者以#開頭的行被忽略,你可以通過在行前加 # 實(shí)現(xiàn)注釋功能。
配置這兩個(gè)文件是通過一種簡單的訪問控制語言來實(shí)現(xiàn)的,訪問控制語句的基本格式為:
程序名列表:主機(jī)名/IP地址列表。
程序名列表指定一個(gè)或者多個(gè)提供相應(yīng)服務(wù)的程序的名字,名字之間用逗號或者空格分割,可以在inetd.conf 文件里查看提供相應(yīng)服務(wù)的程序名:如上面的文件示例中,telent 所在行的最后一項(xiàng)就是所需的程序名:in.telnetd 。 主機(jī)名/IP地址列表指定允許或者禁止使用該服務(wù)的一個(gè)或者多個(gè)主機(jī)的標(biāo)識,主機(jī)名之間用逗號或空格分隔。程序名和主機(jī)地址都可以使用通配符,實(shí)現(xiàn)方便的指定多項(xiàng)服務(wù)和多個(gè)主機(jī)。
Linux 提供了下面靈活的方式指定進(jìn)程或者主機(jī)列表:
1. 一個(gè)以"." 起始的域名串,如 .amms.ac.cn 那么www.amms.ac.cn 就和這一項(xiàng)匹配
2. 以"." 結(jié)尾的IP 串如 202.37.152. 那么IP 地址包括202.37.152. 的主機(jī)都與這一項(xiàng)匹配。
3. 格式為n.n.n.n/m.m.m.m表示網(wǎng)絡(luò)/掩碼,如果請求服務(wù)的主機(jī)的IP 地