如何在一臺機子上配雙網卡
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