如何在一臺機子上配雙網卡
2024-07-21 02:37:32
供稿:網友
在這個地址:http://cesdis.gsfc.nasa.gov/pub/linux/linux.Html,可以找到最新版的各種
以太網卡的驅動程序的測試版,這些驅動程序一般也包括在了標準的Linux內核源碼包里:
cd /usr/src/linux
make menUConfig
一開始有一個提示性的問題:“PRompt for development and/or incomplete code/drivers”
_________________________
/
圖1:內核編譯時的菜單界面
/_________________________/
回答“Y”就可以了,當然假如你不需要這些測試版的驅動程序最好。
下面講一下如何在一臺機子上配雙網卡。
首先在內核編譯的時候,把網卡驅動程序編譯成模塊。PCI卡可以自動被檢測到,ISA卡就要手
工設一下端口和中斷:要手工編輯/etc/conf.modules。比方說你有兩塊NE2000兼容網卡:
___________________________
/
/etc/conf.modules
...
alias eth0 ne
alias eth1 ne
options ne io=0x240, 0x300
...
/___________________________/
這個順序就是按照eth0,eth1下來的。
還有一個方法就是把網卡驅動程序編譯進內核。那么為了讓Linux識別兩塊網卡,就要在LILO上
做手術:
________________________________________________
/
/etc/lilo.conf
...
append="ether=5,0x300,eth0 ether=15,0x280,eth1"
...
/________________________________________________/
____________________________________
/
圖2:dmesg顯示的和以太網卡相關的內容
/____________________________________/
=>設置域名服務器
對于撥號用戶來說,需要的是緩存域名服務。
先來配置/etc/named.conf,這是named啟動的時候要用到的:
________________________________________________________________________
/
// Config file for caching only name server
options {
Directory "/var/named"; // 這是named的缺省工作目錄
// Uncommenting this might help if you have to go through a
// firewall and things are not working out:
// query-source port 53;
};
zone "." {
type hint;
file "root.hints";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "pz/127.0.0";
};
/________________________________________________________________________/
接下來是/var/named/root.hints,這其實就是世界各地的根域名服務器:
_____________________________________________________________
/
. 6D IN NS G.ROOT-SERVERS.NET.
. 6D IN NS J.ROOT-SERVERS.NET.
. 6D IN NS K.ROOT-SERVERS.NET.
. 6D IN NS L.ROOT-SERVERS.NET.
. 6D IN NS M.ROOT-SERVERS.NET.
. 6D IN NS A.ROOT-SERVERS.NET.
. 6D IN NS H.ROOT-SERVERS.NET.
. 6D IN NS B.ROOT-SERVERS.NET.
. 6D IN NS C.ROOT-SERVERS.NET.
. 6D IN NS D.ROOT-SERVERS.NET.
. 6D IN NS E.ROOT-SERVERS.NET.
. 6D IN NS I.ROOT-SERVERS.NET.
. 6D IN NS F.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 5w6d16h IN A 192.112.36.4
J.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.10
K.ROOT-SERVERS.NET. 5w6d16h IN A 193.0.14.129
L.ROOT-SERVERS.NET. 5w6d16h IN A 198.32.64.12
M.ROOT-SERVERS.NET. 5w6d16h IN A 202.12.27.33
A.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.4
H.ROOT-SERVERS.NET. 5w6d16h IN A 128.63.2.53
B.ROOT-SERVERS.NET. 5w6d16h IN A 128.9.0.107
C.ROOT-SERVERS.NET. 5w6d16h IN A 192.33.4.12
D.ROOT-SERVERS.NET. 5w6d16h IN A 128.8.10.90
E.ROOT-SERVERS.NET. 5w6d16h IN A 192.203.230.10
I.ROOT-SERVERS.NET. 5w6d16h IN A 192.36.148.17
F.ROOT-SERVERS.NET. 5w6d16h IN A 192.5.5.241
/_____________________________________________________________/
然后是/var/named/pz/127.0.0,我們先給出一個例子:
__________________________________________________________________________
/
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
1 ; Serial
8H ; Refresh
2H ; Retry
1W ; EXPire
1D) ; Minimum TTL
NS ns.linux.bogus.
1 PTR localhost.
/__________________________________________________________________________/
這就是一個zone file,這里包括有3種“Resource Records”:
SOA,Start Of Authority RR
NS,Name Server RR
PTR。
第一行上的“@”,就是指named.conf中這個zone file所對應的本地zone:0.0.127.in-addr.arpa。
NS RR前面有一個缺省的“@”沒有寫出來,NS這行就是說linux.bogus域的域名服務器就是ns.linux.bogus。
PTR RR這行說明這個zone file所對應的本地zone的127.0.0.1這臺機子是localhost。
SOA RR說明這個zone file所在的機子叫做ns.linux.bogus,負責人是hostmaster@linux.bogus,
該zone file的版本號是“1 ; Serial”。
最后是/etc/resolv.conf:
________________________________________________
/
search subdomain.your-domain.edu your-domain.edu
nameserver 127.0.0.1
/________________________________________________/
search這行的意思就是,假如你尋找moifa,那么實際上就是moifa.your-domain.edu。
nameserver就是指定你的域名服務器啦,假如你有其他的域名服務器,可以多加幾個nameserver行。
下面我們啟動named,然后用nslookup來檢查一下,是否named已經正常工作了。
_______________
/
演示:nslookup
/_______________/
接下來我們建立一個公司內部網上的真域名服務。
先在named.conf里加上一個新的zone:
_____________________________
/
zone "linux.bogus" {
notify no;
type master;
file "pz/linux.bogus";
};
/_____________________________/
下面我們來編輯我們真域名的zone file:
_______________________________________________________________________________
/
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; serial, todays date + todays serial #
8H ; refresh, seconds
2H ; retry, seconds
1W ; expire, seconds
1D ) ; minimum, seconds;
NS ns ; Inet Address of name server
MX 10 mail.linux.bogus. ; Primary Mail Exchanger
MX 20 mail.friend.bogus. ; Secondary Mail Exchanger;
localhost A 127.0.0.1
ns A 192.168.196.2
www A ns
mail A 192.168.196.4
/_______________________________________________________________________________/
最后我們再來看一下reverse zone。所謂zone,就是把域名轉化為ip地址;所謂reverse zone就是
把ip地址轉化為域名。
__________________________________
/
zone "196.168.192.in-addr.arpa" {
notify no;
type master;
file "pz/192.168.196";
};
/__________________________________/
________________________________________________________________________
/
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; Serial, todays date + todays serial
8H ; Refresh
2H ; Retry
1W ; Expire
1D) ; Minimum TTL
NS ns.linux.bogus.
1 PTR gw.linux.bogus.
2 PTR ns.linux.bogus.
3 PTR donald.linux.bogus.
4 PTR mail.linux.bogus.
5 PTR FTP.linux.bogus.
/________________________________________________________________________/
=>防火墻
第一步,編譯內核,在內核中加入ip masquerade的支持。
再安裝上ipfwadm這個軟件包就可以了。
下面就開始動手配置。
______________________________________________________________________________________________
/
#!/bin/sh
#
# /etc/rc.d/rc.firewall, define the firewall configuration, invoked from
# rc.local.
#
PATH=/sbin:/bin:/usr/sbin:/usr/bin
ipfwadm -I -f
ipfwadm -I -p deny
ipfwadm -I -a accept -V 192.168.255.1 -S 192.168.0.0/16 -D 0.0.0.0/0
ipfwadm -I -a deny