FreeBSD虚拟机NAT转发

原创 2016年08月30日 17:03:43

FreeBSD 内核默认不支持NAT转发功能, 需要重新编译内核源码添加ipfw NAT 选项。


1. 下载FreeBSD内核源码。 下载地址:http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases  (包含FreeBSD5.0---FreeBSD10.0)

https://www.freebsd.org/where.html(FreeBSD10.1---FreeBSD10.3)


2. 下载好内核源码后,使用命令 tar -xvf src.txz -C / 解压到/usr/src目录下。


3. 编辑内核配置文件 GENERIC:

 cd /usr/src/sys/amd64/conf      (sys目录下有i386, amd64...等目录, 编译内核时注意选择相同系统类型, 可以用uname -a 查看)

   vi GENERIC

 在文件末尾添加 配置选项

options IPFIREWALL // 添加ipfw 

options IPFIREWALL_DEFAULT_TO_ACCEPT // 默认所有规则都允许通过

options IPDIVERT // 启用 NAT 功能

 编译:

/usr/sbin/config GENERIC

cd  ../compile/GENERIC

make cleandepend // 清除关联

make depede

make

make install


如果编译没有问题,则内核编译成功, 然后重启系统, 重启成功后,uname -a 查看内核信息, 如下图。



4. 添加两块虚拟网卡, em0, em1. 其中em0 连接外网, em1连接内网 且内网不能上网。

修改配置文件 rc.local, 添加网卡信息

hostname="bsd.vohyo.com"
ifconfig_em0="inet 192.168.241.175 netmask 255.255.255.0"                                                           
defaultrouter="192.168.241.2"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"

ifconfig_em1="inet 192.168.135.175 netmask 255.255.255.0"


# 添加ipfw nat等配置信息

# 开启SSH功能

sshd_enable="YES"


保存退出, 输入命令 /etc/netstart   使更改生效 


配置内网客户机, 其中客户机的网关配置为FreeBSD的内网em1 IP, 客户机可以直接联网。

自测FreeBSD9.2, FreeBSD10.1 系统, 配置完成后, 联网无问题。










版权声明:本文为博主原创文章,未经博主允许不得转载。

FreeBSD网卡配置,解决上网问题

经过系统的最小安装后,在安装过程中并没有进行网络IP的设定。因此,需要我们手工设定IP。设定IP的方法如下: 1.登陆系统后使用ifconfig 命令,查看当前机器的网卡标识,我的是rl0,并且查看...
  • wzxgoogle
  • wzxgoogle
  • 2012年12月16日 13:07
  • 2261

freebsd nat内核

目录: 1. 前言 2. 与Win2ks 和 RH9Linux作的对比试验及结果。 3. 修正后的最终版内核配置,和rc.conf ipf.rules ipnat.rules sysctl.conf文...
  • xfworld
  • xfworld
  • 2007年06月06日 09:37
  • 1390

FreeBSD11官方vmdk在vmware12上配置记录

FreeBSD11官方vmdk在vmware12上配置记录
  • c461522756
  • c461522756
  • 2016年10月28日 10:52
  • 2191

FreeBSD 平台 OpenVPN 的安装、配置客户端和服务端

简介 OpenVPN允许参与创建VPN的单点使用公开密钥、电子证书、或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库中的SSLv3/TLSv1协议函数库。目前OpenVPN能在Sola...
  • joyous
  • joyous
  • 2014年07月22日 20:15
  • 9200

FreeBSD11官方vmdk在vmware12上配置记录

FreeBSD11官方vmdk在vmware12上配置记录
  • c461522756
  • c461522756
  • 2016年10月28日 10:52
  • 2191

VMware中FreeBSD系统 采用NAT方式上网

本文解决如下问题: 1、 为什么选用NAT上网 2、 分别对Win7和VM如何配置才可以上网 3、 如何配置FreeBSD,可采用DHCP方式自动获取IP和DNS...
  • chifuqi
  • chifuqi
  • 2013年12月13日 17:08
  • 1514

FreeBSD进程管理

 在系统shell提示下,使用者可以输入各种命令来执行相应的工作。每个命令通常从终端键盘中获取输入,将输出打印到终端屏幕上,Unix使用标准输入stdio和标准输出stdout,来表示每个命令的...
  • willhuo
  • willhuo
  • 2015年11月18日 22:12
  • 974

FreeBSD开发手册中文版

因公司防火墙项目,需要对FreeBSD的协议栈进行深入学习。以前大部分开发是基于Linux系统,虽说Unix是Linux的鼻祖,一段时间接触下来,在Unix上做开发,和Linux对比差异还是存在的,特...
  • Illina
  • Illina
  • 2017年07月18日 14:49
  • 435

freebsd下服务硬件性能测试

freebsd用整体解决方案,简约内核打动我们。用它一个更大的理由是它出色的软件包管理。unix/linux下的免费软件远要比windows下的多,不论用port还是, pkg_add都是非常方便! ...
  • cd520yy
  • cd520yy
  • 2014年04月25日 09:42
  • 1066

freeBSD TAILQ队列的理解

from  http://www.cnblogs.com/UnGeek/archive/2013/03/29/2989325.html 在看libevent源码中TAILQ的时候发现了一些让...
  • u010820135
  • u010820135
  • 2016年08月29日 12:02
  • 440
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FreeBSD虚拟机NAT转发
举报原因:
原因补充:

(最多只允许输入30个字)