1、制作一个双界面(双宿主)的主机 。
通常,现在的发行包的安装程序都可以识别两块网卡,这样就省事了 。但是也有不少发行包只识别第一块网卡(也许是出于前面说的原因),或者你要在一台在用的机器上加一块网卡(因为你不愿意重装系统),那么就按照下面的办法处理 。
1.1、我们就说PCI网卡 。安装前首先看看网卡芯片,记住芯片的型号(希望你自己攒过机器) 。
1.2、安装MAN手册(用发行包)
1.3、在/usr/doc/HOWTO/english/txt/Ethernet-HOWTO文件(如果是压缩的就释放)中搜索你的网卡型号,找到对应的驱动模块名称 。
1.4、如果模块没有,还需要重新编译核心 。在menuconfig网络设备一栏选中你的型号然后标记为*或M,编译完核心后别忘了编译模块:make modules;make modules_install 。(不会的话再仔细温习一下前面编译内核的部分)
1.5、用depmod –a命令建立/etc/modules.conf(如果已经有就不用了),也有的发行包叫做conf.modules
1.6、编辑该文件加上一行:alias eth1 XXXX,其中XXXX是你刚才查到的模块名称 。一般该模块文件位于:/lib/modules/内核版本号/net…中的XXXX.o文件 。这个文件是你编译内核模块的时候产生的,你在内核配置的时候,凡是标记为M的都会被编译成.o文件放在这里 。同样的,你选择的网卡驱动也是会编译成模块在这里的 。
1.7、运行modprobe eth1使模块有效 。
1.8、修改/etc/sysconfig/network文件中需要修改的部分 。
1.9、建立或修改/etc/sysconfig/network-script/ifcfg-eth1文件(照抄那个eth0的即可),设定地址是你的真实情况,比如设为eth1要接的网段 。这两个文件(eth0/eth1是启动的时候的脚本参数文件)
1.10、重新启动一下网络:/etc/rc.d/init.d/network restart
1.11、用ifconfig看看是否eth0/eth1都启动了 。
1.12、大功告成
2、调整和编译核心:如果作为网关,有些核心选项需要配置 。注意:这里的内核编译选项仅仅适合于2.2.X版本,2.4版本完全不同 。
2.1、在/usr/src/linux中运行make menuconfig配置核心下列选项:
Networking options中[*] Network firewalls [*] IP: advanced router [*] IP: firewalling [*] IP: firewall packet netlink device [*] IP: transparent proxy support [*] IP: masquerading [*] IP: ICMP masquerading [*] IP: masquerading special modules supportIP: ipautofw masq support (EXPERIMENTAL)IP: ipportfw masq support (EXPERIMENTAL)IP: ip fwmark masq-forwarding support (EXPERIMENTAL) [*] IP: masquerading virtual server support (EXPERIMENTAL) (12) IP masquerading VS table size (the Nth power of 2)具体选项不同版本的内核不尽相同,你看着差不多就可以了 。编译成模块或编进核心[*]可以自由选择 。
2.2、按照前面说的编译内核,重新启动后就具有网关功能了 。启动后验证一下文件:/proc/sys/net/ipv4/ip_forward内容是否为1 。(别告诉我不知道怎么看8-))
3、设置ipchains
本来这项工作是非常复杂的,但是我们这里讲的简单,让网关通了就行 。
3.1、先看一下目前我们目前的假想环境:你的机器有两块网卡,一块连接在内网交换机配内部网络地址,另一块在外网交换机配公网地址 。在这个机器ping 内网和外网的机器应该都能通 。并且在内网的机器ping 该机器的外网地址也通,在外网的机器ping该机器内网的地址也同样通 。这说明转发功能是有效的 。
3.2、再试验一下:在内部网络把网关设为你的机器的内网地址,然后ping 外网的任一台机器(不是这台机器的外网地址),结果是不通 。原因是ICMP包发出去后外网的机器不知道怎么回答,那里没有合适的路由,因为这个包的回应地址是内网 。
推荐阅读
- 什么然失笑四字词语
- Linux远程启动
- 什么人什么心四字词语
- 在Linux中制作VCD
- 寻找Linux下的网络邻居
- Linux 每次启动时钟日期就多了 8 小时
- 实例讲解 LILO 的配置和使用
- 表示看的四字成语有哪些
- 什么清明四字成语
- 什么什么逢生的四字成语