七/096
ip route + ip rule实现双ISP接入网络配置
本文所述仅为解决方案之一,欢迎留言探讨其他解决方案。
公司新增一条ISP接入,直接光电转换成以太口接入,现有Cisco 3750和若干Cisco 2960,另外有PC机一台做NAT+Router,DHCP/DNS等功能均不用Cisco 3750干,其实我也不知道为啥,曹某人说不用就不用了,哈哈~
OK,既然新增一条线路,而原先的NAT主机网卡也不够了,于是新增一台NAT2,功能还是地址转换和软路由,Linux实现,这些都很容易
线路很容易调通,后来遇到了两个难点,一个是两台NAT不能互通(这不胡扯么?),其实是我自己白痴了,NAT上没有做静态路由将192.168.0.0/16的地址都指向3750,默认网关是指向Internet的,当然不通啦~后面一个问题,其实也跟这个也有一点点关系,就是策略路由本地不同Vlan使用不同的ISP出口。经过曹某人指点使用ip rule就可以搞定。
具体配置如下:
NAT1: eth2 192.168.254.1/24 LINK TO Cisco 3750 VLAN 2,eth1配置ISP1的互联IP
NAT2: eth0配置ISP2的互联IP,eth1配置192.168.254.11/24 LINK TO Cisco 3750 VLAN 2
两台NAT均做好静态路由保证互通,NAT1作为主NAT,使用ip route + ip rule做策略路由,默认走本机网关即采用ISP,特殊VLAN/IP通过策略路由到NAT2,走ISP2
ip route add 192.168.20.0/24 dev eth2 src 192.168.254.1 table cnc
ip route add default via 192.168.254.11 table cnc
ip rule add from 192.168.20.0/24 pref 10000 table cnc
其他配置都相对很容易,主要是静态路由需要多配置几个,反正静态路由也不耗费什么系统资源:D
十二/081
mrtg & cacti配置tips
配置了一晚上的mrtg和cacti,终于大功告成,困扰了很久的问题其实都是小问题,但是大家也许会经常遇到,记录下来,希望对google到这里的人有所帮助(baidu也成啦!)。
前期的设置:
打开需要监控主机的snmp服务,一般来说稍微编辑一下/etc/snmp/snmpd.conf就可以了
第61、62行内容如下:
# group context sec.model sec.level prefix read write notif
access notConfigGroup “” any noauth exact mib2 none none //粗体是要修改的部分
取消下面这行:
view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
的注释
在远程主机使用snmpwalk -v2c -c public hostname即可测试snmp的状态
如果想用cacti,需要额外安装php、rrdtool等软件
编译php的时候需要加上with-snmp的选项,依赖net-snmp-devel
cacti 0.8.7b版本及OLDER必须使用rrdtool1.2或者1.1版本,只有0.8.7c(beta)才支持rrdtool1.3
mrtg
mrtg比较简单,简单说下流程
1. cfgmaker snmpstring@hostname > /etc/mrtg/mrtg.cfg(如果有多台主机则后面的几台用重定向添加到mrtg.cfg的后面即可)
2. 修改mrtg.cfg中的WorkDir指向mrtg网页所在录
3. 使用indexmaker生成网页
4. 在crontab里面添加:*/5 * * * * env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg
5. 浏览网页,应该是正常的。
cacti
解决了软件版本的问题,给php加上with-snmp的支持,基本上就不会有什么问题了。
添加主机的时候建议把Availability/Reachability Options里面的Downed Device Detection选项设置为None,否则在ping等命令不可达的时候他会把主机状态置为down从而不去生成图表。
cacti的文档比较多,这里就不再啰嗦了,配置方面也只需要修改一个include/config.php,相对来说只要把环境配置好,网页自然会出来。
六/083
Linux下双网卡路由设置
从某人哪儿偷来的,记录下来,以后肯定用得上
ip route add IPADD_1_NETWORK/BLOCK dev eth0 src IPADD_1 table TABLE_1
ip route add default via GW_1 table TABLE_1
ip route add IPADD_2_NETWORK/BLOCK dev eth1 src IPADD_2 table TABLE_2
ip route add default via GW_2 table TABLE_2
ip rule add from IPADD_1 pref 20000 table TABLE_1
ip rule add from IPADD_2 pref 20000 table TABLE_2
五/080
apache限速模块
下载地址
http://bwmod.sourceforge.net/
tips:
1.安装apache的时候一定要enable-so
2.使用apxs -i -a -c mod_bw.c
example: httpd.conf
BandwidthModule On
ForceBandWidthModule On
LargeFileLimit .iso 1 2000000
五/080
Linux下编译安装apache+php+mysql
1. 编译mysql
./configure –prefix=/usr/local/mysql –with-charset=gb2312
make
make install
groupadd mysql
useradd -g mysql mysql
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db –user=mysql
chown -R root .
chown -R mysql data
bin/mysqld_safe –user=mysql &
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/
以后启动就可以直接用/etc/init.d/mysql.server start
或者在rc*.d(debian 4 etch在rc2.d,其余linux系统基本在rc3.d)里面加上启动脚本
2. 编译apache
./configure –prefix=/usr/local/apache2 –enable-module-so –enable-rewrite
make
make install
3. 编译php
./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache2/bin/apxs \
–disable-debug –disable-rpath –enable-inline-optimization \
–with-mysql=/usr/local/mysql –with-gd –with-freetype-dir \
–with-png-dir –with-iconv –with-jpeg-dir –with-zlib
make
make install
cp %php_source%/php.ini-dist /usr/local/php/lib/php.ini
修改apache配置文件
vim /usr/local/apache2/conf/httpd.conf
在AddType application/x-gzip .gz .tgz下一行加入
AddType application/x-httpd-php .php
这个应该本来就有:
LoadModule php5_module modules/libphp5.so
DirectoryIndex index.php index.html
这里加上index.php就可以了
然后重启apache
/usr/local/apache2/bin/apachectl restart



