找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 288755|回复: 2664

[N1盒子] 【终极指南】关于N1做旁路由添加 iptables 自定义防火墙规则的见解

   火... [复制链接]
本帖最后由 幻空lee 于 2020-3-14 04:18 编辑

看到 flippy 有说 N1 做旁路由的话不要忘了加自定义防火墙规则:
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE

先解释一下这个规则:iptables 修改 NAT 表,使经过 eth0 的网卡的流量的源 IP 伪装成 eth0 的 IP,而且是动态伪装(直接读取 eth0 的 IP 地址)

为什么要这么做:
一般小伙伴的 N1 只配置了一个 LAN 口,WAN 口是没有使用,或者直接把 WAN 口删了,这个时候 N1 作为辅助网关,LAN 口负责把数据转发给主路由网关,默认是不会修改你的源 IP 的。

证明如下:
我们分别添加/不添加iptables规则,然后用主路由器看N1的IP地址:
图1 添加iptables规则(一切正常)

图2 不添加iptables规则(N1的IP为什么和手机一模一样?原因就在于N1转发手机的包,没有修改源IP,路由器通过识别源IP来判断设备的IP)


转发过程讲解:
手机(192.168.0.4)向外发一个包,先发到辅助网关N1(192.168.0.2),辅助网关并没有修改这个包的源地址(192.168.0.4),这个包由N1转发给主路由(192.168.0.1)再到外网;回应的包回来的时候,到了主路由,主路由一查 NAT 表,发现是手机(192.168.0.4)的,就直接发给手机了,根本不经过N1。

这个时候是可以上网的(不能留学),但是这样会导致很多功能无法使用,比如说去广告,回来的包都不经过N1,怎么去广告呢?科学留学也成了问题了,回来的包不经过N1,谁去给你解密呢???所以需要加一句:iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE,把去程包的源IP改为N1IP,这样回程包先发给N1N1完成了一系列不可描述的功能后,N1再根据NAT表,发送给相应设备。


上面这句话是我之前的解释,经过我证明,说法错误。原因是去广告和科学留学会正向代理设备,本身就会进行SNAT(源地址转换),所以不存在发回来的包找不到源设备的问题,是可以正常去广告和科学留学的。貌似可不加了,是吗?请继续观帖。

N1作为旁路时,推荐加上iptables规则,原因如下:
1. 不加的话,主路由会错误显示N1的IP,N1替谁转发了流量,主路由就会显示为谁的IP,这不逼死强迫症吗?
2. flippy帖子里有说,N1作为旁路由时,Padavan固件路由作为主路由时,开启硬加速的情况下,可能会存在微信或者QQ图片打不开等问题,其中具体原因可能就在于N1没有做SNAT,导致去广告或者留学白名单(如微信、QQ)回城不经过N1。
3. 加上无害,反而可以解决一些奇奇怪怪的问题。
...

有没有可以不用加的方法?
方法是有的,添加一个WAN口,关闭LAN口桥接,WAN口和LAN口共用eth0,WAN口发出数据的时候,会自动做SNAT,回来的包会先回到N1,再返给设备。

总结:什么时候需要设置 iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE ?
需要设置情况:
1. 主路由开DHCP(未指向旁路由网关),旁路由关DHCP,旁路由只有LAN口工作,其他设备需设置静态网关为旁路由,需要设置。
2. 主路由开DHCP(未指向旁路由网关),旁路由开DHCP(强制模式开),旁路由只有LAN口工作,其他设备通过强制DHCP获取旁路由网关,需要设置。
3. 主路由开DHCP(指向旁路由网关),旁路由关DHCP,旁路由只有LAN口工作,需要设置。
4. 主路由关DHCP,旁路由开DHCP,旁路由只有LAN口工作,需要设置。
不需要设置的情况:

1. 旁路由WAN LAN共用eth0,不用设置。
2. 单臂路由情况,N1作为拨号路由(有拨号就有WAN口),不用设置。


终极记忆口诀:没wan就加!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 56恩山币 +64 收起 理由
谢天谢*** + 1 字字珠玑
你是我*** + 1 你好,久仰卧龙大名,在下凤雏!.
love*** + 2 你好,久仰卧龙大名,在下凤雏!.
liangte*** + 1 你好,久仰卧龙大名,在下凤雏!.
蓝*** + 1 强大的恩山!(以下重复1万次)
ash*** + 1 感谢你的分享,无论怎样,你都是最无私的人.
yeh*** + 1 送你一块“恩山”牌肥皂,喏,就在你脚下、.
duan*** + 1 很好,支持!
crazy*** + 1 你好,久仰卧龙大名,在下凤雏!
一品*** + 1 恩山全体路由党向你学习!
甜*** + 1 你好,吴签兄,认识你很高兴!调侃一下、别.
天*** + 2 感谢你的分享,无论怎样,你都是最无私的人.
理想*** + 1 感谢你的分享,无论怎样,你都是最无私的人.
weco*** + 1 几个菜啊,喝成这样~~~
leo*** + 1 感谢你的分享,无论怎样,你都是最无私的人.
m4963*** + 1 来来来,有什么伤心的事说出来让大家开心一下。
zelas2*** + 1 解决了我多年以来的困惑,感谢楼主
10*** + 1 可是加的话会降低NAT等级,影响使用P2P的BT下载和游戏联机,所以不能说加了反
chn*** + 1 简单明了,没WAN就加,学到了。
14167*** + 1 NB良心啊
jack91*** + 1 兄弟,你肥皂又掉了…
江*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
ctne*** + 1 送你一块“恩山”牌肥皂,喏,就在你脚下、捡一下吧……
炫*** + 1 解答了我很长时间的困惑!感谢
jf76*** + 1 恩山全体路由党向你学习!
wl131*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
fansc*** + 1 恩山全体路由党向你学习!
clf*** + 1 几亿网民,我们俩竟然神奇的在恩山相遇了!来,1分也是分!
la*** + 1 恩山全体路由党向你学习!
ique*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
chenp*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
robi*** + 1 强大的恩山!(以下重复1万次)
GNUisN*** -1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
老少*** + 1 强大的恩山!(以下重复1万次)
xhu*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
mo*** + 1 恩山全体路由党向你学习!
vic*** + 1 恩山全体路由党向你学习!
5614*** + 3 恩山全体路由党向你学习!
qq1344*** + 1 恩山全体路由党向你学习!
qwq*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
南*** + 1 恩山全体路由党向你学习!
power*** + 2 恩山全体路由党向你学习!
tc*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
hstg*** + 1 一语惊醒梦中人
不知*** + 1 恩山全体路由党向你学习!
天天*** + 1 就喜欢这种追根溯源的帖子,告诉我们为什么
Xia*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
ta*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
wyc*** + 1 恩山全体路由党向你学习!
Tenso*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
开始*** + 2 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
86*** + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!
校友*** + 2 风清云淡、飘逸悠然……极爽!
萌萌*** + 4 一看就是觉得高端、大气、上档次!
flys*** + 1 恩山全体路由党向你学习!
da*** + 1 恩山全体路由党向你学习!

查看全部评分

做拨号旁路由,不加这句能获取ip但是不能上网
回复

使用道具 举报

 楼主| | 显示全部楼层
kalengame 发表于 2020-2-26 22:06
做拨号旁路由,不加这句能获取ip但是不能上网

1. 做拨号旁路由,把LAN 口桥接取消,WAN口设置成LAN口同一网卡 eth0,然后N1 网口 外接 路由器的LAN口,路由器再用一个LAN口外接猫。然后就可以在N1 里设置WAN口拨号了。

2. 或者说你上级设备是交换机,N1 接交换机,路由器也接交换机,交换机接猫。这个时候,只需要到路由器里,关闭拨号,设置按照1 设置就可以了。
回复

使用道具 举报

我没有添加也不影响,比较奇怪。
回复

使用道具 举报

 楼主| | 显示全部楼层
kalengame 发表于 2020-2-26 22:06
做拨号旁路由,不加这句能获取ip但是不能上网

其实,这就是单臂路由了(非VLAN),当然你有网管交换机,或者你上级路由能划VLAN,设置成VLAN单臂路由,效率更高!
回复

使用道具 举报

 楼主| | 显示全部楼层
开始懂了~ 发表于 2020-2-26 22:11
我没有添加也不影响,比较奇怪。

ssh里,输入 iptables -t nat -vnL,可以看看是不是自带这条规则
回复

使用道具 举报

幻空lee 发表于 2020-2-26 22:16
ssh里,输入 iptables -t nat -vnL,可以看看是不是自带这条规则

感谢!学习了。
回复

使用道具 举报

 楼主| | 显示全部楼层

或者说,你主路由设置的DHCP设置的网关是旁路由的IP,这样主路由做NAT的时候,就会把源地址伪装成旁路由IP,这也是很多人为啥不添加也能正常用的原因。
回复

使用道具 举报

都是干货呐,正纳闷这句规则啥意思
回复

使用道具 举报

就会把源地址伪装成旁路由IP
回复

使用道具 举报

幻空lee 发表于 2020-2-26 22:21
或者说,你主路由设置的DHCP设置的网关是旁路由的IP,这样主路由做NAT的时候,就会把源地址伪装成旁路由I ...

对,就是你说的情况。我主路由指向了旁路由的网关。
回复

使用道具 举报

感谢,学习了。
回复

使用道具 举报

 楼主| | 显示全部楼层
开始懂了~ 发表于 2020-2-26 22:38
对,就是你说的情况。我主路由指向了旁路由的网关。

额,我的主路由是AC9,没硬改,没法刷机,用的官方固件。这个官方固件有个毛病,没法自定义 DHCP。。。。所以,我现在用的是 wan lan 共用 eth0 这种方法。
回复

使用道具 举报

幻空lee 发表于 2020-2-26 22:42
额,我的主路由是AC9,没硬改,没法刷机,用的官方固件。这个官方固件有个毛病,没法自定义 DHCP。。。。 ...

原来如此,我是觉得我以前关闭主路由的DHCP的时候需要添加,现在关闭N1的时候不需要添加。看你解释很清楚了。
回复

使用道具 举报

那么内外都正常的情况下,到底是加还是不加呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-8 16:14

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表