vlan0
我有一个标记为 444 的VLAN 接口,其 IP 为172.16.16.16
VLAN 通过物理en0
接口。
我有另一个mine0
仅在计算机本地的接口。内部IP已分配192.168.168.168
我正在尝试使用规则在和binat
之间执行 1:1 NATvlan0
mine0
我的pf.conf
:
binat on vlan0 from 172.16.16.16 to any -> 192.168.168.168
设置 pf 规则后,我尝试使用该172.16.16.16
地址进行 SSH。
我的输出tcpdump host 10.10.10.10
:
22:06:41.397177 IP 10.10.10.10.34755 > 172.16.16.16.ssh: Flags [S], seq 1984840961, win 26883, options [mss 1460,sackOK,TS val 4060403773 ecr 0,nop,wscale 7], length 0
22:06:41.397258 IP 192.168.168.168.ssh > 10.10.10.10.34755: Flags [S.], seq 2419525153, ack 1984840962, win 65535, options [mss 1460,nop,wscale 5,nop,nop,TS val 824423934 ecr 4060403773,sackOK,eol], length 0
22:06:42.400361 IP 192.168.168.168.ssh > 10.10.10.10.34755: Flags [S.], seq 2419525153, ack 1984840962, win 65535, options [mss 1460,nop,wscale 5,nop,nop,TS val 824424934 ecr 4060403773,sackOK,eol], length 0
22:06:42.425900 IP 10.10.10.10.34755 > 172.16.16.16.ssh: Flags [S], seq 1984840961, win 26883, options [mss 8861,sackOK,TS val 4060404802 ecr 0,nop,wscale 7], length 0
22:06:42.425994 IP 192.168.168.168.ssh > 10.10.10.10.34755: Flags [S.], seq 2419525153, ack 1984840962, win 65535, options [mss 1460,nop,wscale 5,nop,nop,TS val 824424958 ecr 4060404802,sackOK,eol], length 0
22:06:44.405921 IP 192.168.168.168.ssh > 10.10.10.10.34755: Flags [S.], seq 2419525153, ack 1984840962, win 65535, options [mss 1460,nop,wscale 5,nop,nop,TS val 824426935 ecr 4060404802,sackOK,eol], length 0
22:06:44.441985 IP 10.10.10.10.34755 > 172.16.16.16.ssh: Flags [S], seq 1984840961, win 26883, options [mss 8861,sackOK,TS val 4060406818 ecr 0,nop,wscale 7], length 0
22:06:44.442072 IP 192.168.168.168.ssh > 10.10.10.10.34755: Flags [S.], seq 2419525153, ack 1984840962, win 65535, options [mss 1460,nop,wscale 5,nop,nop,TS val 824426971 ecr 4060406818,sackOK,eol], length 0
每个 SYN 数据包 ( Flags [S]
) 均通过接口传入vlan0
。
然而,每个 SYN ACK 数据包 ( Flags [S.]
) 都会通过该en0
接口。
我需要更改什么才能让数据包出去使用vlan0
?
答案1
如果您和另一台计算机之间存在路由器或防火墙:
SYN S Syn数据包,是会话建立请求。
该请求甚至可能无法到达目的地,即使到达目的地,您也可能得不到响应。如果一侧的安全性比另一侧更严格,则状态信息可能不存在。
如定位:思科网络服务新闻:
尝试这个:
将变量设置为您需要的接口。
# Static 1:1 NAT for the internal WWW servers
binat on $ext_if from $www1_int to any -> $www1_ext
binat on $ext_if from $www2_int to any -> $www2_ext
在这里找到的信息:FreeBSD 论坛