作者cookys (饼乾)
看板FreeBSD
标题Re: [请益] 用Packet Filter(PF) 做 IP mapping 遇 …
时间Wed May 12 06:29:40 2010
※ 引述《yzupcbug (请加入HOT_Game板)》之铭言:
: ※ 引述《starlition (unknown)》之铭言:
: : 加一行 nat on $int_if from 192.168.198.3 port 220 to any -> $static_if
: : 我印象中
: : NAT的封包不需另外pass就会通过
: : (也就是说pass对nat无意义? <- 不大确定)
: 嗯, 结果是一样不通, 此行於 pfctl -vsn 中完全没有处理到封包
: nat on em1 inet from 192.168.198.3 port = imap3 to any -> 固IP
: [ Evaluations: 40121 Packets: 0 Bytes: 0 States: 0
: ]
: [ Inserted: uid 0 pid 16269 ]
刚刚测试了一下,你大概须要的东西:
dyn0if="tun1"
dyn0gw="tun1:peer"
int_if="nfe0"
internal_net="192.168.1.1/24"
ext_if_fttb="tun0"
gw_if_fttb="tun0:peer"
# 让 192.168.1.200 这个 IP 能够直接被外部 ip 连线
binat on $dyn0if from 192.168.1.200 to any -> ($dyn0if:0)
nat on $int_if from $internal_net to ($dyn0if:0) -> 192.168.1.200
# 让不同 interface 进来的东西记得回家的路
pass in quick on $ext_if_fttb reply-to ($ext_if_fttb $gw_if_fttb) from any to
($ext_if_fttb) keep state
pass in quick on $dyn0if reply-to ($dyn0if $dyn0gw) from any to 192.168.1.200
keep state
# 强制让 192.168.1.200 走特定 ip 出去
pass in quick on $int_if route-to ($dyn0if $dyn0gw) from 192.168.1.200 to any
大概就是这样吧。
不过那个 ppp daemon 设 1.1.1.2 才能连多个是哪招阿,我在那边被搞了好一下子 =.=
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.33.26.228