免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1970 | 回复: 3
打印 上一主题 下一主题

[FreeBSD] ADSL 拨号&PF防火墙NAT on FreeBSD6.0 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-24 09:58 |只看该作者 |倒序浏览
网络拓扑图
                                                  [ ppp (tun0) ]
[ Internal network ]----- lnc1 [ Firewall ] lnc0 ----------------[ Internet ]


方式一:
注意以下三个文件的内容,/etc/ppp/ppp.conf /etc/rc.conf /etc/pf.conf

firewall# more /etc/ppp/ppp.conf (全部)
default:
  set log Phase tun command # you can add more detailed logging if you wish
  set ifaddr 10.0.0.1/0 10.0.0.2/0        # do not change this line.

chinatelecom:                # defined by yourself, it is "ppp_profile"
  set device PPPoE:lnc0 # replace lnc0 with your Ethernet device
  set authname xxxxxxx        # username provided by ISP
  set authkey xxxxxxx        # password provided by ISP, you can reset it.
  set dial                # do not change this line.
  set login                # do not change this line.
  add default HISADDR        # do not change this line.

firewall# more /etc/rc.conf (PPP&PF部分)
ppp_nat="YES"               
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="chinatelecom"
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""

firewall# more /etc/pf.conf
int_if=lnc1                # define internal network interface
ppp_if=tun0                # define ppp interface
nat on $ppp_if from $int_if:network to any -> ($ppp_if)

Note:
进出rules自己按照目的添加,如果不懂就按我下面的加几行在这个文件里。
block all
pass in on $int_if inet from $int_if:network to any keep state
pass out on $ppp_if inet from $ppp_if to any keep state

方式二:
目的是系统启动以后再拨号
/etc/ppp/ppp.conf 和 /etc/pf.conf 内容继续保持方式一中的。

firewall# more /etc/rc.conf (PF部分)
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""

系统启动以后,打以下两条命令,记住是两条,
1.拨号
firewall# ppp -ddial chinatelecom
2.加载pf防火墙,虽然你也许在启动的时候加载过了,但是那时ppp拨号还没有建立,所以防火墙的设置

虽然正确但是没办法正确加载。
firewall # pfctl -f /etc/pf.conf


Troubleshooting:

ifconfig        确定拨号是否建立
netstat -r        确定路由是否正确
pfctl -sn        确定防火墙中的NAT是否启动
pfctl -sr        确定PF防火墙rules启动正确

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
2 [报告]
发表于 2006-04-24 15:27 |只看该作者
2.加载pf防火墙,虽然你也许在启动的时候加载过了,但是那时ppp拨号还没有建立,所以防火墙的设置虽然正确但是没办法正确加载。

可以建ppp.linkup文件,打开及加载pf.
详细man ppp.

论坛徽章:
0
3 [报告]
发表于 2006-04-24 16:23 |只看该作者
如果我想对外开放80,22端口
其他的都屏蔽,该如何写规则?

还有,我只是想让机上的某一端口转发,又如何做到?

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
4 [报告]
发表于 2006-04-24 17:10 |只看该作者
PF FAQ
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP