LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: abcbuzhiming

新人请教,gentoo做软路由,服务器,能做到什么程度

[复制链接]
 楼主| 发表于 2007-7-29 21:06:15 | 显示全部楼层
Post by 抽烟斗的狗
嘿嘿~~,我来说两句吧,哈哈~~~
看楼主的要求,你想把gentoo处理成双宿主机吧?意思是带两个网卡,一个对外连接(Internet),一个对内局域网.
此时的gentoo不要带X-window,网卡要设置为混杂模式,可以监控网络进出的包,内核要允许包过滤功能,安装iptable包过滤,ssh随机启动,远程监控.这个主机不要搞太多项目了,除非他很空闲,哈哈~~~
/usr/portage/net-analyzer目录下有许多网络监控工具,把他玩一遍,看谁好用,给个列表你:
aimsniff         httping                 nessus-core       scanssh
amap             hunt                    nessus-libraries  scapy
angst            hydra                   nessus-plugins    scli
argus            hyperic-hq-agent        netcat            sec
argus-clients    ibmonitor               netcat6           sflowtool
arping           ifmetric                netdiscover       sguil-client
arpoison         ifstat                  netdude           sguil-sensor
arp-sk           ifstatus                nethogs           sguil-server
arptools         iftop                   neti              siphon
arpwatch         ike-scan                netio             slurm
authforce        ipac-ng                 netperf           smokeping
barnyard         ipaudit                 netselect         sniffit
base             ipband                  net-snmp          snmpmon
bigeye           ipcad                   netspeed_applet   snmptt
bing             iplog                   nettop            snort
bmon             ippl                    netwag            snortalog
braa             iptraf                  netwox            snortsam
bsnmp            iptstate                nfdump            sonar
bwbar            isic                    ngrep             squid-graph
bwm-ng           jffnms                  nikto             squidsites
bwmon            jnettop                 nipper            ssldump
cacti            knetscan                nload             ssmping
cacti-cactid     knocker                 nmap              sussen
calamaris        labrea                  nmbscan           sysmon
carl             lft                     ns                tcpdump
chaosreader      libnasl                 nsat              tcpflow
cnet             linkchecker             nstats            tcpreen
cryptcat         macchanger              ntop              tcpreplay
cutter           mbrowse                 nttcp             tcpslice
darkstat         metadata.xml            oinkmaster        tcpstat
dnstracer        metasploit              p0f               tcptrace
dosdetector      midas-nms               packit            tcptraceroute
driftnet         mirmon                  paketto           tcptrack
dsniff           mping                   pathload          thcrut
echoping         mrtg                    pathrate          thrulay
egressor         mrtg-ping-probe         pbnj              tleds
etherape         mtr                     pchar             tptest
ethloop          munin                   pinger            traceproto
ethstatus        mwcollect               pktstat           traceroute
ettercap         nagios                  pmacct            traceroute-nanog
fail2ban         nagios-core             poink             trafd
fe3d             nagios-imagepack        portmon           traffic-vis
ffp              nagios-nrpe             portsentry        trafshow
firewalk         nagios-nsca             postal            ttcp
FlowScan         nagios-plugins          prelude-nessus    ttt
flow-tools       nagios-plugins-snmp     prewikka          upnpscan
fping            nagios-sap-ccms-plugin  quidscor          vnstat
fprobe           nam                     raddump           webfuzzer
fragroute        nast                    rain              wireshark
ftester          nb                      rrdcollect        xnetload
fwlogwatch       nbaudit                 rrdtool           xprobe
gensink          nbtscan                 rtg               yersinia
gnome-netstatus  ndoutils                rtpbreak          zabbix
gnome-nettool    ndsad                   sancp             zabbix-agent
gnu-netcat       nepenthes               sara              zabbix-frontend
gspoof           nessus                  sarg              zabbix-server
honeyd           nessus-bin              sbd               zniper
hping            nessus-client           scanlogd

再把这个主机环境处理成Live CD ,就完美了.需时不少啊~~~~

ntop是用web登陆的.


恐怖的列表,我还是先把前面那位仁兄提到的工具玩透好了

我的确就是想把我的主机处理成一台双宿主机,充当一个NAT,并且在其上考虑开一个http服务器,当然仅对内,我倒是觉得这东西工作量不是很大,首先我不用x界面,桌面这个最容易出各种稀奇古怪问题的东西就不会出来犯我了,我也不需要费劲去找显卡声卡驱动嗯,不过,貌似我那集成网卡的linux驱动是个大问题,不知道这玩意支持不支持sis 900 PCI的网卡……我目前工作量比较大的,一方面就是研究透iptables构建一个安全的NAT,然后就是就是研究流量控制问题,这两个搞定,貌似也就没什么。至于把这东西处理成livecd,我倒不是这么想的,我处理成不需要硬盘的livecd,我那些路由策略,限速脚本该保存到哪里呢?总不能每次重启都重新设吧……其实我就是希望能运用硬盘做存储服务器才动心思希望安装到硬盘上的,不过对于这个7*24小时的路由器来说这样的确很费硬盘啊,请问有没有好的解决方案,能用livecd,又能在需要的时候启动硬盘开启对内http下载服务,不需要的时候关闭硬盘,还能保存我对NAT的那些设置……

Post by zhou3345
呵呵,象bookstack兄弟这样的高手本论坛还是很多的,比如前版主fei,管着几百Linux服务器,还做了个国内的distfiles源;本论坛的兄弟们也是极热心的,像zhllg版主不但经常帮助大家解决实际问题,还经常指导解决问题的方法,更组织兄弟们进行gentoo文档的中文翻译,时间不长,成果不少,大都收在gentoo-cn.org中。gentoo是一个自由度极大却又极其方便的一个Linux发行版,当然其中的奥妙也不少。相对而言,gentoo的文档资料是很全的,从安装文档,到doc频道,到gentoo-wiki;另外forum频道,bug频道,凡常见的问题都找得到答案。这是我在其他发行版里所没见到的。
哈,说了些与问题无关的话,怎么象广告?欢迎新弟兄加入!

我现在已经大致看了一遍Gentoo Linux 2007.0 x86手册中文版,有这么几个问题。

首先,提到了三种安装方式,最小化CD,liveCD,和stage包安装方式,但是,我听有些人说gentoo可以在最开始的状态就自定义安装哪些模块,可是文档中关于livecd的安装模式没有提到如何在安装时选择安装自己想要的或不想要的模块,我不大希望他一古脑的把livecd上那一堆接近700M的内容全部弄我硬盘上去……
而且还有一个更莫名其妙的地方,他明明提到说用livecd可以安装系统,但是又在stage安装文档中说最小化光盘和livecd中不含stage文件,只有livedvd才有,这我就糊涂了,如果我要本地安装不接网络,我到底该用什么,stage包?livecd?还是liveDVD?
PS:livecd是不是可以自己下源代码按自己的需求编译一个特制的出来?

Portage这个东西,貌似是gentoo里面非常重要的东西,他所管理的软件安装貌似都是从网上来的,我可不可这样理解,这东西有点类似于一个可管理的自动更新程序,而他所依靠的服务器是不是gentoo的发布公司维护的?

如果我在安装到配置网络这步时运行/sbin/ifconfig,发现他只检测出了一块网卡,甚至一块网卡都没检测出来,请问这个时候,我该怎么办呢?(我很担心我的网卡的兼容问题,特别是其中一块是集成的sis 900 pci)

最后一个问题,不管是我要给我的机器增加驱动也好,还是要加上前面那位朋友和我提到的那些用来做路由的软件也好,我都需要联网,这带来一个对于我这菜鸟来说很严重的问题,我如何在字符界面下去网上下东西?这,完全没概念……

抱歉一下问了这么多,这是我自己想到的可能会在第一安装时遇到的问题,请高人指点
回复 支持 反对

使用道具 举报

发表于 2007-7-29 21:38:35 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-29 22:02:51 | 显示全部楼层

看了,不过我不想把p2p全部干死,只想做流量控制,不过貌似目前最重要的iptables在nat模式下的设置案例很少,我还在琢磨1.19的用户手册
回复 支持 反对

使用道具 举报

发表于 2007-7-29 22:51:56 | 显示全部楼层
Post by abcbuzhiming
我现在已经大致看了一遍Gentoo Linux 2007.0 x86手册中文版,有这么几个问题。

首先,提到了三种安装方式,最小化CD,liveCD,和stage包安装方式,但是,我听有些人说gentoo可以在最开始的状态就自定义安装哪些模块,可是文档中关于livecd的安装模式没有提到如何在安装时选择安装自己想要的或不想要的模块,我不大希望他一古脑的把livecd上那一堆接近 700M的内容全部弄我硬盘上去……
而且还有一个更莫名其妙的地方,他明明提到说用livecd可以安装系统,但是又在stage安装文档中说最小化光盘和livecd中不含stage文件,只有livedvd才有,这我就糊涂了,如果我要本地安装不接网络,我到底该用什么,stage包?livecd?还是liveDVD?
PS:livecd是不是可以自己下源代码按自己的需求编译一个特制的出来?

Portage这个东西,貌似是gentoo里面非常重要的东西,他所管理的软件安装貌似都是从网上来的,我可不可这样理解,这东西有点类似于一个可管理的自动更新程序,而他所依靠的服务器是不是gentoo的发布公司维护的?

如果我在安装到配置网络这步时运行/sbin/ifconfig,发现他只检测出了一块网卡,甚至一块网卡都没检测出来,请问这个时候,我该怎么办呢?(我很担心我的网卡的兼容问题,特别是其中一块是集成的sis 900 pci)

最后一个问题,不管是我要给我的机器增加驱动也好,还是要加上前面那位朋友和我提到的那些用来做路由的软件也好,我都需要联网,这带来一个对于我这菜鸟来说很严重的问题,我如何在字符界面下去网上下东西?这,完全没概念……

抱歉一下问了这么多,这是我自己想到的可能会在第一安装时遇到的问题,请高人指点


严格说gentoo有两种安装方式:
1.用livecd中的安装工具安装,可以不需要网络,也不要太长的安装时间(如果不想更新的话)。不过这种方式现在还不太成熟,个人认为不适合新手用。

2.利用一个现成的linux系统来安装。这个现成的系统可以是常见的linux操作系统发行版,当然最好是gentoo自己的(个人觉得用LFS的livecd也很不错)。前面大家提过的livecd就是一个放在光盘里的Linux操作系统。这个系统只是一个宿主系统,和你要装在硬盘里的没什么关系。要装在你的硬盘分区里的有两个东西:一个是基本gentoo系统包,也就是通常称之为stage的包,这就是一个小型的Linux系统,解压之后就可以用的。当然还没有内核和启动器,不能启动,所以要利用宿主系统来启动,然后再利用chroot来切换系统环境。第二个要装的是gentoo的软件管理系统portage,它每天更新,镜像叫snapshot。把大点给你写一下:
。用livecd启动,分区,格式化(建议用reiserfs)  --准备Linux分区
。到网上把stage3包和最新portage包下载准备好,可以先用别的系统下载好,但livecd启动后要能找得到。可以到这里下:http://gentoo.osuosl.org/
。按文档中的方法解压这两个包。
------初步安装完成------
接下来要做有两件大事
。chroot到新系统,根据自己的硬件情况做一些调整,修改一些文件,包括网络、时间、更新、编译参数等
。下载并编译内核,安装启动器
------这样基本系统已经装好,可以自主启动了------
当然这些步骤在安装文档里已经写得很详细了,再做几点说明:
1.gentoo的livecd的硬件支持已做得很好了,你就下那个只有几十M的minimal版,应该来说网络什么的都已经可以用了。但如果网卡不被识别那就很麻烦,启动后用lspci看看支持情况,另外系统启动后有用net-setup配置网络的提示。
2.一定要仔细阅读安装文档,一步一步来,了解每一步做的是什么工作,为什么。
3.弄清楚自己电脑里每一块芯片的厂商和型号,这在内核编译里很重要。


另外,livecd当然是可以自己做的,gentoo官网有专门的文档介绍。
关于portage,是gentoo特有的软件包管理工具,是gentoo的核心,由gentoo官网维护。
回复 支持 反对

使用道具 举报

发表于 2007-7-30 02:06:59 | 显示全部楼层
Post by abcbuzhiming


现在确实感觉英文好很重要,上面介绍的那些模块,如果不是经人介绍,我甚至不知道他们存在,都是英文的。如果大伙还有什么涉及软路由构建的模块,麻烦介绍给我。貌似昨天看过一个人介绍一个是叫“l7”还是"I7"的东西,也是控制流量的,忘记在哪里了


我之所以选了linux,就是因为我不想让160G硬盘就挂个软路由,那简直浪费,freebsd的这两个防火墙都不能在路由以外挂点东西,只好暂时放弃了


你说的是Layer-7 filter 就是L7. 自带了很多协议的过滤,比如bt、迅雷、驴子。

我这里有一份比较详细的适用所有Linux发行版的 QoS设置文档,供你参考。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2007-7-30 09:03:57 | 显示全部楼层
感觉楼上还在用windows啊,rar的包。
文档先收了,谢谢。
回复 支持 反对

使用道具 举报

发表于 2007-7-30 10:13:06 | 显示全部楼层
关注此贴,我进入gentoo也是为了这个,但是自己还做其他工作,学习gentoo一直断断续续,还没有任何进展。继续学习中
回复 支持 反对

使用道具 举报

发表于 2007-7-30 10:19:00 | 显示全部楼层
我不是网络高手, 半吊子, 就是平常喜欢动动手。

就目前的状况来看,先用一个iptable + apache/lighttpd 就可以满足当前的需要。
ntop有Web 界面的,服务器端不需要安装X

nat对系统的负荷很小, 对I/O的要求比较高。 可以考虑用独立网卡。
router上开一个http服务,应该没有什么问题,但是如果是Samba或者ftp, 磁盘子系统的I/O性能就会成为瓶颈。

160G可以考虑作 mldonkey server。24 x 7的p2p服务, 下载完了再同步到文件服务器上,——比较省硬盘。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-30 11:57:12 | 显示全部楼层
Post by zhou3345
严格说gentoo有两种安装方式:
1.用livecd中的安装工具安装,可以不需要网络,也不要太长的安装时间(如果不想更新的话)。不过这种方式现在还不太成熟,个人认为不适合新手用。

2.利用一个现成的linux系统来安装。这个现成的系统可以是常见的linux操作系统发行版,当然最好是gentoo自己的(个人觉得用LFS的livecd也很不错)。前面大家提过的livecd就是一个放在光盘里的Linux操作系统。这个系统只是一个宿主系统,和你要装在硬盘里的没什么关系。要装在你的硬盘分区里的有两个东西:一个是基本gentoo系统包,也就是通常称之为stage的包,这就是一个小型的Linux系统,解压之后就可以用的。当然还没有内核和启动器,不能启动,所以要利用宿主系统来启动,然后再利用chroot来切换系统环境。第二个要装的是gentoo的软件管理系统portage,它每天更新,镜像叫snapshot。把大点给你写一下:
。用livecd启动,分区,格式化(建议用reiserfs)  --准备Linux分区
。到网上把stage3包和最新portage包下载准备好,可以先用别的系统下载好,但livecd启动后要能找得到。可以到这里下:http://gentoo.osuosl.org/
。按文档中的方法解压这两个包。
------初步安装完成------
接下来要做有两件大事
。chroot到新系统,根据自己的硬件情况做一些调整,修改一些文件,包括网络、时间、更新、编译参数等
。下载并编译内核,安装启动器
------这样基本系统已经装好,可以自主启动了------
当然这些步骤在安装文档里已经写得很详细了,再做几点说明:
1.gentoo的livecd的硬件支持已做得很好了,你就下那个只有几十M的minimal版,应该来说网络什么的都已经可以用了。但如果网卡不被识别那就很麻烦,启动后用lspci看看支持情况,另外系统启动后有用net-setup配置网络的提示。
2.一定要仔细阅读安装文档,一步一步来,了解每一步做的是什么工作,为什么。
3.弄清楚自己电脑里每一块芯片的厂商和型号,这在内核编译里很重要。


另外,livecd当然是可以自己做的,gentoo官网有专门的文档介绍。
关于portage,是gentoo特有的软件包管理工具,是gentoo的核心,由gentoo官网维护。


看到你这个说明,我今天早上又看了一遍安装中文文档,基本理解了,不过还是有几个问题,

一个就是,我已经下载了installcd,就是59M的那个,以及protage包和stage3的包,我不想在安装时还去网上下载,那我应该怎么把protage包和stage3放到gentoo能找到的地方呢——我用installcd启动后,肯定要重新分区,还要格式化,这就导致protage包和stage3不可能事先被放在硬盘上……这个问题要怎么办?

下载并编译内核源代码?请问内核源代码必须让gentoo自己去网上下载吗?我没有在安装文档里找到下载地址,这东西不能事先下载吗?关于编译内核,有更详细的资料没有,看中文文档还是有些不懂的地方,主要是对于编译时那些设置看昏了……

再一个就是安装程序的问题,按照protage的说明文档,当我下载了一个软件的源码后,我是不是应该用
# emerge 源代码文件名称
来进行安装?
可是,如果我下载的是个rpm该怎么办呢?

Post by bookstack
我不是网络高手, 半吊子, 就是平常喜欢动动手。

就目前的状况来看,先用一个iptable + apache/lighttpd 就可以满足当前的需要。
ntop有Web 界面的,服务器端不需要安装X

nat对系统的负荷很小, 对I/O的要求比较高。 可以考虑用独立网卡。
router上开一个http服务,应该没有什么问题,但是如果是Samba或者ftp, 磁盘子系统的I/O性能就会成为瓶颈。

160G可以考虑作 mldonkey server。24 x 7的p2p服务, 下载完了再同步到文件服务器上,——比较省硬盘。

我这边找的到的独立网卡也就8139了……ORZ,好在带的机器不是很多,才不到100台。如果用作p2p服务器,我也很想,就是7*24小时不知道对硬盘磨损有多厉害,在一个就是有没有能在控制台进行操作的骡子版本?
另外,同学你说的那个flow control,这东西除了你给我的那份英文wiki,有别的资料没有,这东西好冷门,网上一点东西都查不到的说
回复 支持 反对

使用道具 举报

发表于 2007-7-30 13:56:30 | 显示全部楼层
Post by abcbuzhiming

看到你这个说明,我今天早上又看了一遍安装中文文档,基本理解了,不过还是有几个问题,

一个就是,我已经下载了installcd,就是59M的那个,以及protage包和stage3的包,我不想在安装时还去网上下载,那我应该怎么把 protage包和stage3放到gentoo能找到的地方呢——我用installcd启动后,肯定要重新分区,还要格式化,这就导致protage 包和stage3不可能事先被放在硬盘上……这个问题要怎么办?

下载并编译内核源代码?请问内核源代码必须让gentoo自己去网上下载吗?我没有在安装文档里找到下载地址,这东西不能事先下载吗?关于编译内核,有更详细的资料没有,看中文文档还是有些不懂的地方,主要是对于编译时那些设置看昏了……

再一个就是安装程序的问题,按照protage的说明文档,当我下载了一个软件的源码后,我是不是应该用
# emerge 源代码文件名称
来进行安装?
可是,如果我下载的是个rpm该怎么办呢?
stage和portage包的存放问题:
1.可以在刻录之前改一下livecd*.iso镜像文件,把这两个包加进去,可以用windows下的ultraiso来做。
2.不一定要把硬盘全部格式化了,如果还想保留windows的话,可以把这两个包放在windows的fat32分区,然后用mount命令把这个fat32分区挂载起来。
3.放在局域网的一个http或ftp服务器上,livecd启动后用wget命令把包下载到本地。

gentoo几乎所以的软件都是从源代码安装的,通过的就是以portage为主的一整套软件管理程序。安装命令很简单,就是emerge。有关编译的cpu设置、软件功能参数USE、源代码服务器地址、portage更新服务器地址,都由/etc/make.conf文件管。这是我的,你可以参考一下,注意cpu架构、显卡驱动等都要根据自己的实际情况更改。
[php]
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-O2 -march=pentium-m -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
#LDFLAGS="-Wl,--hash-style=both"
#FEATURES="distcc"
FEATURES="sandbox ccache parallel-fetch"
MAKEOPTS="-j2"
LINGUAS="zh_CN zh"
USE="-arts -kde -gtk -gnome -doc -debug -xmms -mozilla -cups -xcb -ipv6 -lm_sensors \
qt4 gtk2 cairo audacious directfb xinerama firefox sdl ruby postgres gtk bootstrap \
glitz x264 esd X xcomposite xscreensaver win32codecs a52 libcaca aalib vorbis trayicon \
quicktime mmkeys musepack acpi vcd mpeg xpm mod dts alsa oss flac mad ffmpeg \
modplug wavpack ogg wma123 wma mp3 mikmod aac dvd xvid xv stroke javascript \
css unicode xft mmx mmxext sse sse2 cjk nls thinkpad xosd vim mozsvg svg mng png \
tiff mozdevelop browserplugin nsplugin dri nptl nptlonly cgi bzip2 pdf hal \
dbus truetype jpeg gif opengl realmedia fastcgi xml 7zip aiglx bash-completion \
bindist vim-syntax slang real emacs apache2 tetex latex hfs usb ieee1394 java \
snmp"

#ACCEPT_KEYWORDS="~x86"
#PORTAGE_ELOG_SYSTEM="save"
#PORTAGE_ELOG_CLASSES="warn error info log qa"

VIDEO_CARDS="radeon"
INPUT_DEVICES="keyboard mouse"

GENTOO_MIRRORS="61.135.158.199 http://gentoo.osuosl.org/"
SYNC="rsync://61.135.158.199/gentoo-portage"

#source /usr/portage/local/layman/make.conf

# fetch files with axel --------------
#FETCHCOMMAND="/usr/bin/axel -a -o \${DISTDIR}/\${FILE} \${URI}"
#RESUMECOMMAND="${FETCHCOMMAND}"
[/php]

要安装软件,如gentoo内核:
#emerge gentoo-sources   
就可以了,源代码的下载,编译,安装都是自动的。当然kernel不一样,emerge了之后要自己编译。编译方法在安装文档里写得很详细。当然对新手来说内核设置是复杂了一点,建议用gentoo开发的genkernel脚本程序来编译内核。
#emerge genkernel
#genkernel --menuconfig all
只要你设置好了menuconfig,基本上就ok了。这里面你先别管太多,把这些设置好就可以了:1.cpu和设备驱动(device driver) 2.文件系统和语言环境(file system)
这里有方法:
http://zh.gentoo-wiki.com/HOWTO_Compile_Kernel

gentoo的portage软件库里的软件非常全,常用的好用的全有,一般是不需要从别的地方另下软件的。如果一定要用非portage中的软件(本人强烈建议不这样做),包括rpm包,这里有一篇讨论和一篇HowTo:
http://www.linuxsir.cn/bbs/showthread.php?t=307154
http://gentoo-wiki.com/TIP_install_programs_without_portage#RPMs

关于gentoo的应用,请看wiki里的这一篇文章:
http://zh.gentoo-wiki.com/Gentoo_Quick_Guide
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表