工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.51099.com 注册 | 登陆
浏览模式: 标准 | 列表分类:其它unix

FreeBSD做Gateway(转)

开始:  
1、使用双网卡。一块连接外,一块连接内网.连接外网的网卡标识rl1,连接内网的为rl0
(因为我2块网卡都是REALTEK8139的,所以网卡标识为rl,1和0是两块网卡的区别号)

2、在/etc/rc.conf中加上:  
ifconfig_rl1="inet 218.92.251.108 netmask 255.225.225.0" 
##(对外网卡的设置,很显然,218.92.251.108为静态IP地址。255.255.255.0子网掩码。不懂?我颠~)  
ifconfig_rl0="inet 192.168.0.1 netmask 255.255.255.0" 
##(对内网卡IP地址以及子网掩码的设置)  
##以上加进rc.conf是为了再每次开机的时候配置好两块网卡的IP地址等。
firewall_enable="NO"   #取消防火墙
gateway_enable="YES"    ##启用网关功能,很显然,很重要。
named_enable="YES"      ##启用DNS名字服务,这样可以让内网通过设置主机做DNS
natd_enable="YES"        ##启用nat功能,很显然,特重要
natd_interface="rl1"       ##设置NAT转发的网卡标识号,rl1为对外连接网卡。相当于###WIN2000里的连接共享设置的那块网卡连接。

3,设置/etc/ipnat.conf
map rl1 192.168.0.0/24 ->; 218.92.251.108/32 portmap tcp/udp 10000:65000
map rl1 192.168.0.0/24 ->; 218.92.251.108/32
##以上是设置允许共享连接的内网IP范围,很显然,24精确到最后一位!也就是说###192.168.0.*的子机都可以通过这台主机上网。

4,设定开机自动执行ipnat。
#cd /usr/local/etc/rc.d
#vi runipnat.sh  
##加入以下内容:  
        #!/bin/sh  
        /sbin/ipnat -f /etc/ipnat.conf
#chmod 755 runipnat.sh   ##权限设为可执行。  

5、设置内核,至关重要!
因为ipfw和ipfilter不能共存,所以如果要使用ipfilter,必须将内核中有关ipfw的部份注释掉
#cd /usr/src/sys/i386/conf    ##/usr/src/sys/i386/conf是内核文件所在目录
#cp GENERIC DWOLF      ##备份内核文件GENERIC

#grep -i IPFIREWALL DWOLF ##查找:IPFIREWALL,如果找到,就加"#"注释掉:
#vi   DWOLF   ##vi编辑,也可以用ee编辑器   
    #options IPFIREWALL  
    #options IPDIVERT  
##再加入:
    options IPFILTER  
    options IPFILTER_LOG  
##保存!
#config DWOLF    ##检查有没有错误
#cd /usr/src  
#make kernel KERNCONF=DWOLF    ##编译内核  
#reboot  

##重起以后打dmesg查看启动信息,我看到有一条
IP Filter: v3.4.31 initialized.   Default = pass all, Logging = enabled  
#ipnat -l    ## 显示ipnat的设定状况
map rl1 192.168.0.0/24 ->; 218.92.251.108/32 portmap tcp/udp 10000:65000
map rl1 192.168.0.0/24 ->; 218.92.251.108/32
呵呵,搞定!

试试内网机器能不能上网,(测试,可省略)
PING 192.168.0.1    成功连接主机,OK!
PING mdxy.3322.org   解析到IP地址,DNS OK!
PING 218.92.251.122   PING通外网主机,OK!(注意,因为8月中旬全国ISO升级,禁止ICMP数据包,路由器外的IP一般都不给PING,你可以找一个自己可以PING通的外网IP,或者省略这一步,无所谓)
==附录几个常用的IPNAT命令
ipnat -l  会列出目前ipnat的设定及状况  
ipnat -C 清除ipnat的设定  
ipfstat 监测数据的流量

freebsd内核编译需知

要编译内核,必须要有source,而要安装source,就要用到cvsup.即使你开始没装cvup也没关系,只要配置好网络,然后用

#pkg_add -r cvsup

就可以安装了,上面参数 -r 就是从网络安装cvsup的意思.

另外:
cvs和cvsup不可等同视之.cvs是用来保持源码同步用的,比如enlinght,而cvsup则是用来更新系统.希望我说得没错.


用pkg_add -r cvsup-without-gui先安装cvsup,然后用cvsup更新ports树和src。具体可以读手册的章节:http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/ports-using.html

Tags: 内核编译

freebsd设置网卡速率

freebsd设置网卡速率
ifconfig bge0 media 10BaseT/UTP mediaopt full-duplex