FreeBSD虚拟机NAT转发

来源:互联网 发布:淘宝联盟分享优惠券 编辑:程序博客网 时间:2024/06/06 04:54

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/configGENERIC

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 系统, 配置完成后, 联网无问题。










0 0
原创粉丝点击