标签存档: Linux - 第2页

Linux搭建企业防火墙

Linux内核防火墙的工作原理

Linux的内核提供的防火墙功能是通过netfiter框架实现的,通过iptables工具来修改防火墙的规则。

netfilter只是为不同的网络协议栈定义了一套钩子(hook)函数,对ipv4协议栈就定义了5个hook函数,可以查看Linux源代码目录下的include/linux/netfilter_ipv4.h。

1.NF_IP_PRE_ROUTING---替换ip包的目的地址 DNAT网络数据包进入系统,经过了简单的检测后,就会交给函数进行处理。读取管理员设置的规则对数据包进行处理,如果数据包不被丢弃,然后交给路由函数进行处理
2.NF_IP_LOCAL_IN所有发送给本机的数据包都要通过该函数的处理,该函数通过读取管理员设置的规则对数据包进行处理,如果数据包不被丢弃,然后交给本地的应用程序
3.NF_IP_FORWORD所有不是发送给本机的数据包都要通过该函数进行处理,该函数通过读取管理员设置的规则对数据包进行处理,如果数据包不被丢弃,交给NF_IP_POST_ROUTING进行处理
4.NF_IP_LOCAL_OUT所有从本地应用程序出来的数据包,必须通过该函数的处理,该函数通过读取管理员设置的规则对数据包进行处理,如果数据包不被丢弃,然后交给路由函数进行处理
5.NF_IP_POST_ROUTING---替换IP包的源地址 SNAT所有数据包在发给其它主机之前需要通过该函数的处理,该函数通过读取管理员设置的规则地数据包进行处理,如果数据包不被丢弃,将数据包发给数据链路层

如图所示:
继续阅读 »

优化自己的Ubuntu

inux的各大发行版,都有些不必要的服务被默认开启了,针对ubuntu,我们可以采用选择性关闭的方法加速起动,提高系统性能。
这里我们安装一个软件:

sudo apt-get install sysv-rc-conf

然后这样起动:

sudo sysv-rc-conf

在这个软件里,可以用键盘的方向键移动,用空格选取,也可以直接用鼠标选取,最后用q保存退出,一下列出服务的名称和基本的解释。

acpi-support   这个是关于电源支持的默认是1,2,3,4,5下启动,我认为你可以把它调整到s级别。
acpid     acpi的守护程序,默认是2-5开启,我认为可以不用管。
alsa     alsa声音子系统,应该不用开启它。
alsa-utils   这个服务似乎取代了alsa,所以开启这个就可以了,我在S级别开启它。
anacron     这是一个用于执行到时间没有执行的程序的服务,我认为它无所谓,所以关了它,这个可以随便。
apmd     也是一种电源管理,我认为电脑如果不是很老,它就没有开启的必要了。
atd     和anacron类似,我把它关了。
bluez-utiles   传说中的蓝牙服务,然后遗憾我没有,所以关了。
bootlogd   似乎使用来写log的,安全期间开着他也许比较好。
cron     指定时间运行程序的服务,所以开着比较好的。
cupsys     打印机服务,所以如果你有,就开启吧。
dbus     消息总线系统,非常重要,一定要开。
dns-clean   拨号连接用的,如果不用,就关了它。
evms     企业卷管理系统,由于我并不明白什么叫做企业卷,所以我关了它。
fetchmail   用于邮件守护,我关了它。
gdm     gnome桌面管理器,我关了它,然后用startx启动gnome。
halt     关机用的,不要更改
hdparm     这个我刚才有讲,如果没有ide硬盘也就不用开启它了。
hotkey-setup   这个是给某些品牌笔记本设计的热键映射,台式机用户请关了它
hotplug   这个是用于热插拔的,我已经测试过了,在某些电脑上关闭它会使声卡无效,请在S级别开启它。
hplip     hp打印机专用的,应该可以关了它。
ifrename     网络接口重命名,好像没用,关了。
ifupdown   这个使用来打开网络的,开着它。
ifupdown-clean   同上。
klogd     linux守护程序,接受来自内核和发送信息到syslogd的记录,并记录为一个文件,所以请开着它。
linux-restricted-modules-common   这个使用来使用受限制的模块的,你可以从/lib/linux-restricted-modules下查看,如果没有什么,你可以关掉它。
lvm     逻辑卷管理器,如果你没有请关了它。
makedev   用来创建设备到/dev/请不要动他。
mdamd     管理raid用,如果你没有请关闭它。
module-init-tools 从/etc/modules   加在扩展模块的,这个一般开着。
networking   增加网络接口和配置dns用,将它开启。
ntp-server   与ubuntu时间服务器进行同步的,关了。
pcmcia     激活pcmica设备,遗憾我有生以来都没有见过这样的设备,关了它。
powernowd   用于管理cpu的客户端程序,如果有变频功能,比如amd的quite’   cool 那么就开启它吧。
ppp     拨号用的,我关了它。
ppp-dns     一样,也关了。
readahead   预加载服务,让我想起了win的预读,当然他们不同,它会使启动变慢3-4妙,所以我关了它。
reboot     重启用的,不要动。
rmnologin   如果发现nologin,就去除它,在笔记本上不用开启。
rsync     rsync协议守护,请视情况而定。
screen-cleanup   一个清除开机屏幕的脚本,随便。
sendsigs     重启和关机时向所有进程发送消息。所以不要管它。
single     激活但用户模式,不用管它。
stop-bootlogd   从2,3,4,5级别停止bootlogd,不用管它。
sudo     这个不用说吧,不用管它。
sysklogd   用于记录系统日志信息,不用管它。
udev     用户空间dev文件系统,不用管它。
udev-mab   同上。
umountfs   用来卸载文件卷的,不用管它。
urandom   生成随即数的,不知道怎么用,不用管它。
usplash     那个漂亮的启动画面,但是我关了它,它也存在,所以想关他需要把内核起动参数中的splash一句删掉。
vbesave     显卡bios配置工具,不用管它。
xorg-common   设置x服务ice socket。不用管它。

linux使用minicom来调试网络设备

学习网络的同学们一定在纠结,在windows下有SecureCRT来连接网络设备的console口,调试网络设备。可是在linux下面用什么工具来连接网络设备呢?没有关系,linux下的minicom的功能与windows下的SecureCRT功能相似,可以通过串口控制外部硬件设备,适于在linux下调试网络设备,对嵌入式设备管理,对外围modem进行控制。
minicom安装:
(for redhat)#rpm -ivh minicom-xxx.rpm
(for ubuntu)#sudo apt-get install minicom*
下面就以ubuntu为例,配置一台思科路由器。
minicom使用:
第一次运行minicom,需要进行minicom的设置:
#sudo minicom
进入minicom的界面之后,通过ctrl+A Z进入帮助界面

可以通过帮助界面了解到,能这‘O’键可以对minicom进行设置。

选择第三个选项Serial port setup

输入A--配置Serial Device :/dev/ttyUSB0
(现在的本子基本上没有串口了,如果要使用串口的话一般都是通过USB转Serial设置完成)
输入esc键取消设置
输入enter确认设置
输入E--配置端口的速率、数据位、停止位 

输入C和Q 速率为9600 数据位为8 奇偶校验为无 停止位为1
输入enter确认设置
在配置界面选择Save setup as dfl,保存配置为默认配置
这样就可以来配置网络

Router>enable
Router#conf t

图像转换程序-ImageMagick

ImageMagick 是一个用于查看、编辑位图文件以及进行图像格式转换的开放源代码软件套装,它可以读取、编辑超过100种图象格式。它以 ImageMagick许可证(一个类似BSD的许可证)发布。

ImageMagick (TM) 是一个免费的创建、编辑、合成图片的软件,它可以读取、转换、写入多种格式的图片,图片切割、颜色替换、各种效果的应用,图片的旋转、组合、文本、直线、多边形、椭圆、曲线、附加到图片伸展旋转。

ImageMagick是免费软件:全部源码开放,可以自由使用、复制、修改、发布。它遵守GPL许可协议,它可以运行于大多数的操作系统,它的大多数功能的使用都来源于命令行工具。通常来说,它可以支持以下程序语言:Perl、C、C++、Python、PHP、Ruby、Java;现成的ImageMagick接口(PerlMagick,、Magick++、PythonMagick、MagickWand for PHP、RubyMagick and JMagick)是可利用的,这使得自动的动态的修改创建图片变为可能,ImageMagick支持至少90种图片格式。 继续阅读 »

体验开源Linux路由器 Quagga

Quagga是一套路由软件,它在Unix平台上,特别是FreeBSD,Linux,Solaris,NetBSD上,实现了OSPFv2,OSPFv3,RIPv1,RIPv2,RIPv3以及BGP4。Quagga是GNU Zebra(由Kunihiro Ishiguro开发)的一个分支。

Quagga包含一个核心守护进程zebra,它作为Unix底层核心的一个抽象层,表示为Unix上的一些Zserv API或Quagga客户端的TCP流。这些Quagga客户端实现路由协议并和zebra守护程序交换路由更新信息。这些Zserv客户端包括:

ospfd:实现OSPFv2

ripd:实现RIPv1和RIPv2

ospf6d:实现OSPFv3(IPv6)

ripngd:实现RIPv3(IPv6)

bgpd:实现BGP4+(包括对组播地址族和IPv6地址族的支持)

详细文档可查看:http://www.quagga.net/docs.php

Quagga的安装与测试

按照Quagga包里面的安装说明可以很轻易的安装好Quagga。默认的安装路径是/usr/local/sbin/,默认的配置文件的路径是/usr/local/etc/。Quagga的各个模块是分别配置的,在默认的配置文件目录下可以看到有几个.conf.sample文件,将其改名为.conf,然后就可以在/usr/local/sbin下用./zebra -d -u root来启动Quagga。启动之后可以用telnet到本机来测试:telnet localhost 2601。之后出现的画面和操作非常接近cisco路由器的配置,故不再多说。