㈠ linux kernel microcode需要開啟嗎
General setup(基本屬性設置)
->[]prompt for development and/or incomplete code/drivers //顯示尚在開發的代碼和驅動(嵌入式開發不用選擇)
(-pdk7105)Local version -append to kernel release //本地版本信息追加到kernel發布版
[]Automatically append version information to the version string //自動追加版本信息到版本字元串
[*]Support for pading of anonymous memory(swap) //支持交換分區
[*]System V IPC //進程間通信
[]BSD Process Accounting //充許用戶進程訪問內核將賬戶信息寫入文件中的
[]Export task/process statistics through netlink(EXPERIMENTAL) //通過網路導出任務和進程的統計信息(實驗性的)
[]Auditing support //審記支持,用於和內核的某些子模塊同時工作
<*>Kernel .config support //將.config配置信息保存在內核中,選上它及它的子項使得其它用戶能從/proc中得到內核的配置
->[*]Enable access to .config through /proc/config.gz //允許通過/proc/config.gz存取.config
[14]Kernel log buffer size (16=>64KB,17=>128KB) //kernel日誌緩沖區長度
[]Create deprecated sysfs files //建立過時的sysfs文件系統(雖然寫著過時然而許多版本仍然有編譯)
[]Kernel->user space relay support(formerly relayfs) //relayfs支持,內核空間到用戶空間高效數據傳輸系統支持
[*]Initial RAM filesystem and RAM disk(initramfs/initrd) support //初始化initramfs和ram disk的支持,initramfs相對獨立,嵌入式開發選用
->()Initramfs source file(s) //此處可以填入你根文件系統中的initramfs目錄
[*]Configure standard kernel features(for small systems) --->//為小系統配置標準的內核特性
->---Configure standard kernel features(for small systems)//給嵌入式系統使用的
[*]Enable 16-bit UID system calls //允許16-bit的UID系統調用
[*]Sysctl syscall support //不需要重啟就能修改內核的某些參數和變數,如果你也選擇了支持/proc,將能從/proc/sys存取可以影響內核行為的參數或變數
[*]Load all symbols for debugging/ksymoops //為調試載入所有符號(可不選擇)
[]Do an extra kallsyms pass //除非你在kallsyms中發現了bug並需要報告這個bug才打開該選項
[*]Support for hot-pluggable devices //支持熱插拔設備,如usb與pc卡等,Udev也需要它
[]Enable support for printk //允許內核向終端列印字元信息,在需要診斷內核為什麼不能運行時選擇
[]Bug() support //顯示故障和失敗條件(BUG和WARN),禁用它將可能導致隱含的錯誤被忽略
[]Enable ELF core mps //內存轉儲支持,可以幫助調試ELF格式的程序
[]Full panic reporting data //所有不安全數據報告
[]Enable full-sized data structures for core //在內核中使用全尺寸的數據結構.禁用它將使得某些內核的數據結構減小,節省內存但是將可能降低性能
[]Enable various size rections for networking //允許為網路縮減長度
[]Enable INET peer information storage //設置網路訪問限制信息存儲
[*]Enable network socket filter //允許網路套接字過濾
[*]Enable ethtool support //允許ethtool支持
[*]Enable futex support //支持同步機制互斥
[]Enable eventpoll support //允許事件池支持
[*]Enable signalfd() system call //啟用signalfd()事件的文件描述符系統調用
[*]Enable eventfd() system call //啟用eventfd()事件的文件描述符系統調用
[*]Use full shmem filesystem //完全使用shmem來代替ramfs.shmem是基於共享內存的文件系統(可能用到swap),在啟用TMPFS後可以掛載為tmpfs供用戶空間使用,它比簡單的ramfs先進許多
[]Calulate CRC32 with tables //使用table表計算CRC32
[]Enable VM event counters for /proc/vmstat //為/proc/vmstat使用VM事件計數器
Choose SLAB allocator(SLAB)---> //選擇SLAB分佩符,優化內存
->(X)SLAB //默認分配符
()SLUB(Unqueued Allocator) //非隊列分配符
()SLOB(Simple Allocator) //簡單分配符
[*]Disable immediate values(NEW) //immediate values提供動態代碼補丁方式
[*]Enable loadable mole support---> //允許可載入的模塊支持
---Enable loadable mole support
[*]mole unloading //模塊卸載
[]mole visioning support //模塊版本支持
[]Source checksum for all moles //對所有模塊進行源代碼檢測
[*]Automatic kernel mole loading //內核自動載入模塊
[]Enable ELF hash support for fast loading //為快速載入允許ELF哈希支持
[*]Enable the block layer---> //允許塊設備
---Enable the block layer
[]Support for large Block devices //對大型塊設備的支持(2TB或以上)
[]Support for tracing block io actions //對塊設備進行跟蹤
[]Support for large signal files //大文件支持
IO Schelers ---> //磁碟I/O調度器
<*>Anticipatory I/O Scheler //搶占式I/O調度方式
<*>Deadline I/O scheler //期限式I/O調度方式
<*>CFQ I/O scheler //CFQ I/O調度方式 均分帶寬
Defaule I/O scheler(Anticipatory) ---> //默認I/O調度器
Processor type and features ---> //處理器類型及特性
[]Tickless System (Dynamic Ticks) //微標記系統
[]High Resolution Timer Support //高頻率時鍾支持
[]Symmetric multi-processing support(NEW) //對稱多處理器支持
Subarchitecture Type (PC-compatible)---> //子構架類型 標准PC或兼容機
[*]Single-depth WCHAN output(NEW) //單精度WCHAN輸出 系統調用等待時的地址
Processor family (Pentium-Pro) ---> //處理器類型
[]Generic X86 support //通用X86支持
[]HPET Timer Support(NEW) //高精度事件時鍾支持
Preemption Model (Preemptible Kernel (Low-Latency Desktop)) ---> //搶先式模塊(低延遲桌面)
[*]Preempt the Big kernel lock //搶先式大內核鎖 選項通過讓大內核鎖變成「可搶先」來降低延遲
[]Local APIC support on uniprocessors //對特定處理器的本地APIC(高級可編程中斷控制器)支持
[]Machine check exception //機器例外檢查
[*]Enable VM86 Support //虛擬X86支持,在DOSEMU下運行16-bit程序或XFree86通過BIOS初始化某些顯卡的時候才需要
<>Toshiba Laptop support //東芝筆記本支持
<>Dell Laptop support //戴爾筆記本支持
[]Enable X86 board specific fixups for reboot //X86版的重啟修復功能
<>/dev/cpu/microcode - Intel IA32 CPU microcode support //Intel IA32架構CPU支持
<>/dev/cpucpuid - CPU infomation support //記錄CPU相關信息
Firmware Drivers ---> //固件驅動
<>BIOS Enhanced disk Drive calls determine boot disk //BIOS加強磁碟功能,確定啟動盤
<>BIOS update support for Dell systems via sysfs //DELL機器的BIOS升級支持
<>Dell systems Management Base Driver //Dell系統管理器的基本驅動
[*]Export DMI identification via sysfs to userspace //通過sysfs輸出DMI認證到用戶空間
High Memory Support(4GB)
[]Big Physical Area version 2 //支持大物理地址
[]Allocate 3rd-level pagetables from highmem //允許用戶空間頁表載入內存
[]Math emulation //數學模擬
[]MTRR(memory type range register)support //內存類型區域寄存器支持
[*]Enabele seccomp to safely compute untrusted bytecode //允許SECCOMP(快速計算)安全的運算非信任代碼
Timer frequency(250 Hz) //時鍾頻率
[]Kexec system call //kexec系統調用(內核重啟)
(0x100000)Physical address where the kernel is loaded //kernel被載入的物理地址
(0x100000)Alignment value to which kernel should be aligned //kernel 啟動校準值
[*]Compat VDSO support //兼容的虛擬動態共享對象
Power management options(ACPI,APM)--->
[]Power management support //電源管理支持
CPU Frequency scaling ---> //
[]CPU Frequency scaling //CPU變頻控制
Bus options (PCI,PCMCIA,EISA,MCA,ISA)---> //匯流排選項
[]PCI support //PCI匯流排支持
[]ISA support //ISA匯流排支持
[]MCA support //MCA支持(已淘汰)
<>NatSemi SCx200 support //對AMD geode的基本支持
PCCARD(PCMCIA/CardBus)Support ---> //支持16位PCMCIA和32位的CardBus
<>PCCARD(PCMCIA/CardBus)Support
Executable file formats ---> //可執行文件格式
[]kernel support for ELF binaries //ELF支持(可執行可鏈接,用於調試)
<>kernel support for a.out and ECOFF binaries //對a.out和ECOFF二進制文件的支持
<>kernel support for MISC binaries //內核對MISC二進制文件的支持
Networking --->
[*]Networking support //網路支持
Networking options ---> //網路選項
<*>Packet socket //包套接字介面
[]Packet socket:mmapped IO //包套接字介面:mmapped IO
<*>Unix domain sockets //Unix域套接字
<>PF KEY socket //PF_KEY套接字
[*]TCP/IP networking //TCP/IP網路
[]IP:multicasting //IP廣播協議
[]IP:advanced router //高級路由
[]IP:kernel level autoconfiguration //IP:內核級別自動配置
[] IP:DHCP support //IP:DHCP支持,啟動時掛載NFS需要
[] IP:BOOTP support //啟動時掛載啟動機子上的啟動文件
[] IP:RARP support //RARP支持,此項和DHCP需要網路中相應伺服器支持
<>IP:tunneling //隧道傳輸
<>ip:GRE tunnels over IP //GRE廣播
[]IP:TCP syncookie support(disabled per default) //TCP cookie同步支持(默認關閉)
<>IP:AH transformation //AH轉換
<>IP:ESP transformation //ESP轉換
<>IP:IPComp transformation //IPCOMP轉換
<>IP:IPsec transport mode //IPsec傳輸模式
<>IP:IPsec tunnel mode //IPSEC隧道模式
<>IP:IPsec BEET mode //IPSEC BEET模式
<>INET:socket monitoring interface //套接字監控界面
[]TCP:advanced congestion control ---> //TCP高級擁擠控制
<>The IPv6 protocol //ipv6協議
[]Security Marking //網路套接字安全標志
[]Network packet filtering framework(Netfilter)---> //網路包過濾框架
<>802.1d Ethernet Bridging //802.1d 網路橋接
<>802.1Q VLAN support //虛擬區域網支持
<>DECnet Support //DEC網路支持
<>ANSI/IEEE 802.2 LLC type 2 support //ANSI/IEEE 802.2 LLC type 2支持
<>The IPX protocol //IPX協議
<>Appletalk protocol support //Appletalk協議支持
Qos and/or fair queueing---> //Qos平衡隊列
Network testing---> //網路測試
[]Amateur Radio support ---> //業余廣播支持
<>IrDA(infrared)subsystem support---> //紅外子系統支持
<>Bluetooth subsystem support---> //藍牙子系統支持
㈡ 請教LINUX系統ADSL設置上網方法
一、安裝的前提條件
確保安裝了網卡並工作正常使用命令#ifconfig eth0查看網卡狀態2.在系統中不要設置默認路由(網關),讓ADSL撥號後自動獲得如果已經設置了默認路由,使用以下方法刪除:在文件 /etc/sysconfig/network 中刪除 GATEWAY= 這一行,然後以root執行:#/etc/rc.d/init.d/network restart 3.已經安裝了pppd軟體包如果存在文件 /usr/sbin/pppd,則說明已經安裝了pppd;如未安裝,從RedHatLinux 安裝光碟上裝ppp-2.3.11-4.i386.rpm(版本可能不一樣)這個軟體包
二、安裝PPPOE客戶端軟體
Linux下的PPPOE客戶端軟體比較多,而且大多使用GNU License,推薦使用rp-pppoe這個軟體包,從http://www.roaringpenguin.com/pppoe/這個網站上,不僅可以下栽RedHat 平台下的rp-pppoe的二進制軟體包,而且可以下栽源代碼軟體包。二進制軟體包的安裝:
A.下栽二進制軟體包http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5-1.i386.rpm
B.進行安裝以root執行:#rpm -Uvh rp-pppoe-3.5-1.i386.rpm 2.從源代碼進行安裝:從源代碼進行安裝同樣適用於其它平台的Linux,但必須在Linux系統中安裝gcc編譯器。
A.下栽源代碼軟體包http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5.tar.gz
B.解壓縮#tar xvfz rp-pppoe-3.5.tar.gz #cd rp-pppoe-3.5 C.進行編譯和安裝運行腳本#./go將自動進行編譯和安裝,最後,自動調用/usr/sbin/adsl-setup進行配置,具體解釋見三。
三、配置PPPOE客戶端軟體
安裝完軟體包後,必須配置pppoe的配置文件/etc/ppp/pppoe.conf,從而讓ADSL撥號時使用配置文件中的用戶名、密碼等參數。我們不必手工改動這個文件,可以使用adsl-setup這個工具進行配置:#/usr/sbin/adsl-setup當出現
>>> Enter your PPPoE user name :
輸入ADSL帳號的用戶名當出現
>>> Enter the Ethernet interface connected to the ADSL modem
For Solaris, this is likely to be something like /dev/hme0. For Linux, it will be ethn, where n is a number.(default eth0):輸入 eth0 ,這是ADSL相連的網卡的名字當出現
>>> Enter the demand value (default no):
輸入 no當出現
>>> Enter the DNS information here:
輸入 「server」 ,這表示使用ADSL撥號自動獲得的DNS伺服器IP地址當出現
>>> Please enter your PPPoE password:
輸入ADSL帳號的密碼當出現
>>> Choose a type of firewall (0-2):
輸入 0 ,不使用防火牆當出現
>>> Accept these settings and adjust configuration files (y/n)?
如果輸入的信息正ā確,輸入 y ,完成配置,否則,輸入 n 重新輸入。
四、啟動PPPOE客戶端軟體
使用命令/usr/sbin/adsl-start 啟動PPPOE客戶端軟體,進行連接,如果成功,將出現Connected;如果不成功,請檢查網線、ADSL MODEM等物理設備,並查看 /var/log/messages中的信息/usr/sbin/adsl-stop 關閉和ISP的連接/usr/sbin/adsl-status 查看當前連接的狀態如果想在Linux系統啟動時自動啟動ADSL連接,輸入以下命令#chkconfig –add adsl將在當前的運行級下加入ADSL的自啟動腳本。
五、測試
當連接成功後,使用命令#ifconfig -a在輸出中應含有關於 ppp0 的信息,其中還綁定了IP 地址,說明已經從撥號中獲得了IP地址。
使用命令#netstat -nr查看路由表信息,這時的默認路由應該是上面獲得的IP地址。
如果沒有默認路由,我們可以手動增加:#route add default gw 上面獲得的IP地址使用命令#nslookup www.sina.com.cn如果解析出新浪的IP,說明已經從撥號中正確獲得了DNS伺服器最後,使用命令ping某個域名或IP,如果有響應,表示你已經大功告成了。
註:好像在進行配置的過程中,會提示你是否在啟動時載入ADSL,選yes,這樣就會省的登錄後再start了。
六、使用雙網卡帶動公司網、家庭網路上網
硬體要求:同上雙網卡
NAT方式:接內部網路的網卡設置IP為私有地址(192.168.0.0/24、172.16.0.0/16、10.0.0.0/8),
例如192.168.100.123/24.不要設置默認路由(網關),DNS設置為廣州地區(61.144.56.100),其它
地區的相應改動為本地區的DNS. 在/etc/rc.d/目錄下用touch命令建立firewall文件,執行chmod u+x firewall以改變文件屬性,編輯/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以確保開機時能自動運行該腳本。
firewall內容為:#!/bin/sh echo 「Enable IP Forwarding…」
echo 「1〃>/proc/sys/net/ipv4/ip_forward echo 」Starting iptables rules…「
/sbin/modprobe iptable_filter /sbin/modprobe ip_tables /sbin/modprobe iptable_nat #Refresh all chains /sbin/iptables -F -t nat iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MMASQUERADE客戶端設置(windows98/2000/xp、linux)網關設置為這台linux地址(192.168.100.123),DNS設置為61.144.56.100.
透明代理配置代理軟體squid:
編輯/usr/local/squid/etc/squid.conf,修改以下內容,確保以下配置:
http_port 192.168.100.123:8080
cache_mem 48 MB acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemakāer acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT acl flag src 192.168.100.0/255.255.255.0
httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on cache_effective_user nobody cache_effective_group nobody http_access allow flag
http_access deny all
(限制只允許區域網用戶使用代理,具體可以參考squid手冊中關於Access Control Lists的內容來限制訪問代理)
cache_dir ufs /var/spool/squid 100 16 256
cache_dir type Directory-Name Mbytes Level-1 Level2
(說明:指定squid用來存儲對象的交換空間的大小及其目錄結構。可以用多個cache_dir命令來定義多個這樣的交換空間,並且這些交換空間可以分布不同的磁碟分區。「directory 」指明了該交換空間的頂級目錄。如果你想用整個磁碟來作為交換空間,那麼你可以將該目錄作為裝載點將整個磁碟mount上去。預設值為/var/spool /squid.「Mbytes」定義了可用的空間總量。需要注意的是,squid進程必須擁有對該目錄的讀寫權力。「Level-1〃是可以在該頂級目錄下建立的第一級子目錄的數目,預設值為16.同理,」Level-2〃是可以建立的第二級子目錄的數目,預設值為256.為什麼要定義這么多子目錄呢?這是因為如果子目錄太少,則存儲在一個子目錄下的文件數目將大大增加,這也會導致系統尋找某一個文件的時間大大增加,從而使系統的整體性能急劇降低。所以,為了減少每個目錄下的文件數量,我們必須增加所使用的目錄的數量。如果僅僅使用一級子目錄則頂級目錄下的子目錄數目太大了,所以我們使用兩級子目錄結構。那麼,怎麼來確定你的系統所需要的子目錄數目呢?我們可以用下面的公式來估算。
已知量:
DS = 可用交換空間總量(單位KB)/ 交換空間數目
OS = 平均每個對象的大小= 20k
NO = 平均每個二級子目錄所存儲的對象數目 = 256
未知量:
L1 = 一級子目錄的數量
L2 = 二級子目錄的數量
計算公式:
L1 x L2 = DS / OS / NO
(注意這是個不定方程,可以有多個解)
acl allow_domain dstdomain 「/etc/squid/allow_domain」
創建cache目錄
[root@proxy squid]# squid -z
修改該目錄所有者squid:
[root@proxy squid]# chown squid:squid /usr/spool/squid
最後啟動squid:
[root@iptable logs]# /usr/local/squid/bin/RunCache &
並且系統中應該有如下幾個埠被監聽:
[root@proxy logs]# netstat -ln tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN udp 0 0 0.0.0.0:3130 0.0.0.0:*
這些說明squid已經正常啟動了。
然後使用Redhat的serviceconf工具以使得系統啟動時自動啟動squid伺服器。
iptables的設置
在/etc/rc.d/目錄下用touch命令建立firewall文件,執行chmod u+x firewll以更改文件屬性,
編輯/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以確保開機時能自動執行該腳本。
firewall文件內容為:
#!/bin/sh
echo 「Enabling IP Forwarding…」
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 「Starting iptables rules…ā」
#Refresh all chains
/sbin/iptables -F -t nat
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp–dport 80 -j REDIRECT –to-ports 8080
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 — -j MMASQUERADE七、在含有多個vlan的三層交換網路中實現squid+iptables的透明代理在企業中網路常常會有三層交換。它能夠有效隔離廣播,防止廣播風暴。通過三層交換機劃分vlan,使得應用和管理都變得相對容易些。但也給代理的設置帶來一點小麻煩,傳統代理要設置代理
伺服器地址和埠,這對三層交換網路沒有什麼問題。關鍵是透明代理中網關的設置,在三層交換的網路中
每個vlan的計算機的網關都要設置成所在vlan的網關,如:下表中vlan1的網關必須是192.168.100.1,vlan2的
網關必須是192.168.110.1,像普通網路中把網關都設置成代理伺服器的地址是絕對不行的。所以,三層交換
網路中透明代理的設置主要問題集中在三層中心交換機和代理伺服器路由的設置,三層交換機的路由表中要有
一條默認路由指向代理伺服器,伺服器的路由表中要有一個容納所有vlan的網關。
以下是我的網路說明:網路內網有15個vlan如路由表所示,代理伺服器(squid+iptables)在vlan1中伺服器有兩塊網卡,eth0連接外
網ip是A.B.C.D,網關為A.B.C.1.eth1連接內網ip是192.168.100.123/24不設網關。給伺服器加上一條路由,
將192.168.0.0/16,指向vlan1的網關192.168.100.1,route add -net 192.168.0.0 netmask 255.255.0.0 eth1以
保證與其他vlan的通信,如此網路部分便配置成功,關於透明代理設置這里就不說了,請參考其他文章。這樣所
有的vlan的計算機只要網關和dns配置好就可以上網了,如:vlan3中某台計算機ip設置192.168.120.47,網關
為192.168.120.1,dns地址為服務商給的(廣州地區ADSL:61.144.56.100),這樣就OK了。其出網的路由
為->192.168.120.47->192.168.120.1->192.168.100.1->192.168.100.123->A.B.C.1->……。