freebsd natd+ipfw使用
来源:互联网 发布:淘宝上一两块钱包邮 编辑:程序博客网 时间:2024/05/23 18:33
最近被调到华师来了,华师的教育网经常会down掉,为了能让自己网络正常点就装了台低配置的服务器,开始的时候,同事使用linux+iptables,总是掉包,感觉也不爽。忍受不了后,本帅哥就装上了freebsd,来解决这痛苦。
最开始的时候,使用了chinaunix上所提到的ipnat+ipfilter 来配置,编译内核后,配了半天客户端都不能ping通dns 郁闷了实在搞不定,最后没办法只能换成ipfw+natd了,然后重新编译内核,配置好后,客户端就OK了。
下面是配置步骤:
3.进入kernel_ipfw所编译的目录,一般都是../complie/kernel_ipfw
2.ee kernel_ipfw
在最后加上
# ipfirewall
options IPFIREWALL
options IPFIREWALL_DEFAULT_TO ACCEPT
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_IPDIVERT
保存后,启用命令config kernel_ipfw 然后,kernel_ipfw内核被编译。
进入后,make depend all install,编译内核后进行安装。
reboot....
4.修改/etc/rc.conf
# 第一片网卡固定的设定:
ifconfig_vr0="inet 211.75.215.107 media 100baseTX netmask 255.255.255.0"
# 只用一片网卡时,将第一片网卡虚拟出另一个IP(如果使用两片网卡,就不要设这一行,或者批注起来也可)。
ifconfig_vr0_alias0="inet 192.168.1.254 media 100baseTX netmask 255.255.255.0"
#如果你有第二片网卡时,将此网卡设定如下(当然啦,这一行的批注就应该取消,第二块网卡才会有作用)。
# ifconfig_vr1="inet 192.168.1.254 media 100baseTX netmask 255.255.255.0"
# 宣告本主机可做为gateway
gateway_enable="YES"
# 防火墙(IP-FIREWALL)
firewall_enable="YES"
firewall_type="OPEN"
firewall_quiet="YES"
tcp_extensions="YES"
# 定义 NATD 的网络卡接口,应定义在设定 public IP 的网卡代号上。
natd_program="/sbin/natd"
natd_interface="vr0"
natd_enable="YES"
# 将真实 IP 上 port:80 转向至防火墙内。这样的转向为必要时才设定,NAT实际运作只要上述两行即可。
natd_flags="-redirect_port tcp 192.168.1.220:80 211.75.215.107:80"
5. check /etc/services 中 natd 8668/divert 这个服务,如果没有请加入
6.修改 /etc/rc.firewall (提示:最好先备份一下信息)
#!/bin/sh
# ================
# 清除所有防火墙过滤的规则(归零),ipfw详细语法请:man ipfw
/sbin/ipfw -f flush
# ================
# 先定义 deny,由此处开始定义防火墙过滤的规则
# 我是比较狠一点,要挡就全部都挡住,滴水不漏。
# ================
# 这里的 all ,是指 /etc/services 档案中所记载的各项服务名称。
# 如此设定防火墙规则后,他连 ping 我的主机都别想了。
# 以下的 IP 或 Class C ,不是有入侵动作、就是乱寄广告信,我不欢迎这种人,所以拒绝提供任何服务。
# ----- spam ----- #
/sbin/ipfw add deny all from 211.22.166.45 to any
/sbin/ipfw add deny all from 216.153.141.44 to any
/sbin/ipfw add deny all from 192.72.80.7 to any
/sbin/ipfw add deny all from 61.220.214.251 to any
/sbin/ipfw add deny all from 61.154.244.0/24 to any
/sbin/ipfw add deny all from 140.113.75.248 to any
/sbin/ipfw add deny all from 61.16.11.0/24 to any
/sbin/ipfw add deny all from 61.217.135.209 to any
/sbin/ipfw add deny all from 61.225.169.0/24 to any
/sbin/ipfw add deny all from 61.227.50.0/24 to any
/sbin/ipfw add deny all from 61.228.0.0/24 to any
/sbin/ipfw add deny all from 63.119.26.216 to any
/sbin/ipfw add deny all from 64.94.217.0/24 to any
/sbin/ipfw add deny all from 64.114.31.2 to any
/sbin/ipfw add deny all from 65.30.9.44 to any
/sbin/ipfw add deny all from 65.32.169.173 to any
/sbin/ipfw add deny all from 139.175.252.20 to any
/sbin/ipfw add deny all from 163.29.255.0/24 to any
/sbin/ipfw add deny all from 192.72.81.0/24 to any
/sbin/ipfw add deny all from 193.126.14.83 to any
/sbin/ipfw add deny all from 195.190.94.200 to any
/sbin/ipfw add deny all from 203.79.166.137 to any
/sbin/ipfw add deny all from 203.198.160.118 to any
/sbin/ipfw add deny all from 203.146.235.0/24 to any
/sbin/ipfw add deny all from 203.204.139.129 to any
/sbin/ipfw add deny all from 206.154.48.203 to any
/sbin/ipfw add deny all from 207.254.20.124 to any
/sbin/ipfw add deny all from 210.85.75.0/24 to any
/sbin/ipfw add deny all from 210.208.48.108 to any
/sbin/ipfw add deny all from 211.20.175.110 to any
/sbin/ipfw add deny all from 211.21.140.133 to any
/sbin/ipfw add deny all from 211.21.191.123 to any
/sbin/ipfw add deny all from 211.75.204.163 to any
/sbin/ipfw add deny all from 211.75.220.228 to any
/sbin/ipfw add deny all from 211.78.1.3 to any
/sbin/ipfw add deny all from 211.114.30.1 to any
/sbin/ipfw add deny all from 212.67.193.231 to any
/sbin/ipfw add deny all from 216.4.172.254 to any
/sbin/ipfw add deny all from 217.11.131.182 to any
/sbin/ipfw add deny all from 217.115.144.0/24 to any
# ================
# 这一行是定义NAT的通行,如果只是设定 firewall 的话,不需要设定这一行。
/sbin/ipfw add divert natd all from any to any via vr0
# ================
# 其余的(all)都放行了,NAT 和 FireWall 都需要设定这一行。
/sbin/ipfw add pass all from any to any
如果想简单的使用,只需要/sbin/ipfw -f flush 加最后两句就可以完成。不过不够安全,
请自行斟酌安全语句。
reboot后,natd和firewall开始执行,客户端就可以上网了。
^_^ happy
- freebsd natd+ipfw使用
- freebsd关闭ipfw防火墙
- FreeBSD ipfw 防火墙基础指南
- freebsd中IPFW内核设定
- 小规模DDoS用Freebsd+IPFW搞定
- 小规模DDoS(拒绝服务)用Freebsd+IPFW搞定
- sshguard-ipfw在freebsd 8下的安装及配置
- FreeBSD 内建的防火墙指令ipfw英译汉
- NAPT和NATD
- FreeBSD使用技巧
- FreeBSD使用CVSup升级
- FreeBSD使用技巧
- FreeBSD NTP 简单使用
- 现在开始使用freeBSD
- FreeBSD 6.2 使用记录
- 使用 FreeBSD 的原因
- 使用GRUB引导FreeBSD
- 使用PuTTY连接FreeBSD
- DVD-Video 字幕文件格式
- 自动关闭页面
- ubuntu下gcc的默认的环境变量路径
- vc点滴2
- varchar字符型转换为 int 型 ..再进行计算
- freebsd natd+ipfw使用
- JSP程序员成长之路
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(10):服务器端和客户端数据类型的自动转换:以XML方式序列化数据、小结
- 注册表基础及WinXP系统注册表解释大全(转)
- 双击网页自动跑
- div+css构建模板技巧收藏
- debugging custom filters for unhandled exceptions
- 禁止选择页面上的文字
- Tomcat和Apache的集成