iptables 能不有实现如下的高级玩法?

2017-03-24 20:07:50 +08:00
 vlike
服务器上用 iptables 设置默认禁止一切 IP 访问,

假如现在要在 A 机访问服务器,能否在不对服务器上的 iptables 做修改的情况下,
能通过某些手段能让服务器动态的放行 A 机器的一切流量?

(是否有类似于 http 的 authorization 或者 cookie 这样的功能)
4023 次点击
所在节点    Linux
17 条回复
jimzhong
2017-03-24 20:18:33 +08:00
你可以用 port knock
widewing
2017-03-24 20:27:07 +08:00
可以用 ipset
ywgx
2017-03-24 20:28:06 +08:00
参考下 宇宙中时空隧道的设计与实现,和你的需求类似,默认拒绝任何人通过隧道,不定期动态的放行一些人或飞行器进入
wh0syourda66y
2017-03-24 20:39:01 +08:00
iptables 路由到一个本地 http 服务器,认证通过后,把符合条件的流量添加一个标签,符合标签的转发到认证通过的路由集合里
akira
2017-03-24 22:25:10 +08:00
不管是哪种 都会需要对 iptables 做修改
BOYPT
2017-03-24 23:30:40 +08:00
在 php 后台调用添加 A 机器的 IP 添加到 ipset ,匹配 set 的地址即可通过放行;
可能要定期清理这个 set 的地址池;
ipconfiger
2017-03-24 23:33:57 +08:00
动态的加入和删除规则...... 貌似可以实现
est
2017-03-24 23:42:43 +08:00
可以实现。我最近就做了一个。很简单。 @KCheshireCat 那里估计有纯 bpf 实现。
est
2017-03-24 23:45:45 +08:00
看起来已经有人做了的样子

https://github.com/qmonnet/pkpoc-bpf
SharkIng
2017-03-25 03:50:35 +08:00
感觉好像就是 port knock 实现的功能,不过这个是对于 port 说的,不是 IP
fool
2017-03-25 10:29:46 +08:00
@ywgx 我怎么看不懂你说的是什么?
julyclyde
2017-03-25 13:19:44 +08:00
如果是 “不再修改”的话,可以,如果是“完全不修改”那你只能在服务器之外做这个事情了
-j QUEUE 然后用 snort-inline 等来处理
iRiven
2017-03-25 15:20:15 +08:00
感觉有点像悖论,直接在 iptables 里面放行不可以吗
vlike
2017-03-25 20:33:40 +08:00
@iRiven 因为机器 a 是不确定的
bigcat0
2017-03-26 13:33:48 +08:00
有 recent 模块。。。。可以做到指定包大小的 ping ,开放端口
bigcat0
2017-03-26 13:35:26 +08:00
楼上那些人,不会的就不要乱说不行。
okudayukiko0
2017-03-26 19:28:30 +08:00
想得到的...ipset.端口重定向.RADIUS.iptables 要实现一些高级机能就很麻烦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/350121

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX