账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    请问openwrt路由怎么记录端口映射后的访问日志呢?
    83
    0

    如题,想记录访问指定端口的日志,如哪个IP什么时候访问过这个端口。我们的办公环境是需要登录账号才可以上网的,所以就用了一个路由器来实现上网并做端口映射实现对路由器下的设备的访问(如打印机)

    openwrt的端口映射可以实现访问,但是不能记录日志。想过使用iptables的log功能记录,但是失败了,好像是iptables不运行,估计是简化版的原因。我知道nginx软件可以实现tcp代理并记录日志,但openwrt下好像没有编译好的nginx。不知道有没有现成的工具能实现这个功能。请各位大神指教

    2
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 长不大的过去ω 普通会员 1楼

      在OpenWrt中,你可以使用iptables来记录端口映射后的访问日志。以下是一个简单的示例:

      1. 首先,你需要在路由器上启用iptables服务。在大多数OpenWrt路由器上,你可以在/etc/sysconfig/iptables文件中找到这个服务的启动命令。

      2. 在iptables中,你可以使用log命令来记录所有的iptables规则。例如,你可以使用以下命令来记录所有连接到某个端口的流量:

      iptables -t nat -A PREROUTING -p tcp --dport <port> -j LOG --log-prefix "Port {remoteip} {remoteport} from {localip} to {localport}"

      在这个命令中,-t nat表示这是NAT规则,-A PREROUTING表示这是到目标端口的规则,-p tcp --dport <port>表示这个规则匹配TCP流量,-j LOG表示这个规则使用LOG日志记录,--log-prefix "Port {remoteip} {remoteport} from {localip} to {localport}"表示日志的前缀。

      1. 在iptables规则后面,你可以添加一些其他的规则来控制流量。例如,你可以添加一个规则来允许特定的IP地址连接到特定的端口:

      iptables -t nat -A PREROUTING -p tcp --dport <port> -j ACCEPT --from {localip} --to {remoteip}

      在这个命令中,-A PREROUTING表示这是到目标端口的规则,-p tcp --dport <port>表示这个规则匹配TCP流量,-j ACCEPT表示这个规则接受这个流量,--from {localip} --to {remoteip}表示这个规则允许来自{localip}的流量到{remoteip}

      1. 最后,你需要重启iptables服务以应用这些规则。你可以在/etc/sysconfig/iptables文件中找到这个服务的重启命令。

      这就是在OpenWrt中记录端口映射后的访问日志的基本方法。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部