老毛子padavan实现修改自定义ssh端口和ipv6外网访问

这篇具有很好参考价值的文章主要介绍了老毛子padavan实现修改自定义ssh端口和ipv6外网访问。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

本文目的:padavan下,自定义 SSH 端口 并实现 ipv6 外网访问

本文记录于 2022年4月10日,随着固件更新可能会存在变动。

最近在倒腾路由器固件,使用的是 hiboy 大的 padavan 固件。

在 WebUI 中,可以启用内网下 22 端口的服务,并通过端口转发实现 ipv4 下的外网访问,但是 ipv6 暂时不行。


一、WebUI 中现有的相关选项

像路由器这种设备的 SSH服务 通常是由 dropbear 提供的,默认端口是22。

1 高级设置 - 系统管理 - 服务 - 终端服务

这里可以启用 SSH 服务。
老毛子padavan实现修改自定义ssh端口和ipv6外网访问
根据我的理解,WebUI 的设置是通过 /usr/bin/sshd.sh 实现其功能的,这里截取startstop 两部分:

#!/bin/sh
...

func_start()
{
	key_a=""
	key_s=""
	key_4=""

	[ ! -d "$dir_storage" ] && mkdir -p -m 755 $dir_storage

	old_pattern="/etc/storage/dropbear_"
	for i in rsa_host_key dss_host_key ecdsa_host_key ; do
		[ -f "${old_pattern}_${i}" ] && mv -n "${old_pattern}_${i}" "$dir_storage/${i}"
	done

	if [ ! -f "$rsa_key" ] || [ ! -f "$dss_key" ] ; then
		func_createkeys
	fi

	if [ ! -f "$ecdsa_key" ] ; then
		/usr/bin/dropbearkey -t ecdsa -f "$ecdsa_key"
		chmod 600 "$ecdsa_key"
	fi

	if [ "$1" == "1" ] ; then
		key_s="-s"
	fi
	if [ "$2" == "1" ] ; then
		key_a="-a"
	fi

	ip6_service=`nvram get ip6_service`
	if [ -z "$ip6_service" ] && [ -d /proc/sys/net/ipv6 ] ; then
		key_4="-4"
	fi

	/usr/sbin/dropbear $key_4 $key_s $key_a
}

func_stop()
{
	killall -q dropbear
}
...

可以看到脚本并没有提供自定义端口的功能,而且 usr 分区是只读的,我们不在这部分做文章。

2 高级设置 - 防火墙 - 通用设置 - 从外网访问路由器服务

这里提供端口转发服务,但仅限于 ipv4。

似乎是因为 padavan 不支持 ipv6 的 NAT6,查了一圈测试了以下命令

>> ip6tables -t nat -I PREROUTING -p tcp --dport 10022 -j REDIRECT --to-port 22
ip6tables v1.4.16.3: unknown option "--to-port"
>> ip6tables -t nat -I PREROUTING -p tcp --dport 10022 -j REDIRECT --to-destination [fe80::1]:22
ip6tables v1.4.16.3: unknown option "--to-destination"

蛋疼。有个 nat66 我也不知道怎么用。

接着整,打开选项,可以看到默认转发端口为 10022 (由defaults.c@rt-n56u定义)
老毛子padavan实现修改自定义ssh端口和ipv6外网访问

二、自定义ssh端口

1 关掉 一定要关掉

关闭 SSH 服务
老毛子padavan实现修改自定义ssh端口和ipv6外网访问
关闭防火墙 SSH 转发选项

老毛子padavan实现修改自定义ssh端口和ipv6外网访问

2 通过脚本实现功能

定位到 高级设置 - 自定义设置 - 脚本 - 在防火墙规则启动后执行
老毛子padavan实现修改自定义ssh端口和ipv6外网访问

在logger前的空白行添加内容

killall -q dropbear
/usr/sbin/dropbear -p 10022

iptables -A INPUT -p tcp --dport 10022 -m state --state NEW -m recent --update --seconds 300 --hitcount 3 --name SSH_blacklist -j DROP
iptables -A INPUT -p tcp --dport 10022 -m state --state NEW -m recent --name SSH_blacklist --set -j ACCEPT

ip6tables -A INPUT -p tcp --dport 10022 -m state --state NEW -m recent --update --seconds 300 --hitcount 3 --name SSH_blacklist6 -j DROP
ip6tables -A INPUT -p tcp --dport 10022 -m state --state NEW -m recent --name SSH_blacklist6 --set -j ACCEPT


老毛子padavan实现修改自定义ssh端口和ipv6外网访问

脚本实现的功能:

  1. 按指定端口重启 dropbear
  2. 打开v4+v6外网端口访问
  3. 通过限制一定时间段内的连接次数,防止DOS攻击(不判断密码是否正确,不适用频繁重连的场景)

此处 recent 模块的使用,参考 Iptables 之 recent 模块小结 中的案例2。文章来源地址https://www.toymoban.com/news/detail-447701.html


总结

  1. 关掉 WebUI 的。
  2. 通过脚本实现功能增项。

到了这里,关于老毛子padavan实现修改自定义ssh端口和ipv6外网访问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ipv6外网能ping通,但无法访问服务(自建网站,远程桌面等)

    1.当前环境及情况说明 宽带:电信、光猫桥接、路由器拨号 ipv6地址:在各大网站都能ping通这个ipv6地址,本机也能访问ipv6的网站 问题:其它外网电脑除了能ping通这个ipv6地址之外什么都访问不了 2.可能出现问题的原因 本机防火墙拦截了(关闭防火墙也是一样的)× 光猫防火

    2024年01月21日
    浏览(54)
  • 怎么通过ssh连上ipv6的服务器?阿里云怎么配置ipv6?wsl2怎么支持ipv6?

    最近在研究ipv6,光调通环境居然让我折腾了好多回,现在终于通了 在这里提一句,IPV6和IPV4是两种东西,不要想着ipv6兼容ipv4,你就当它是全新的东西 测试通过就代表你电脑可以访问ipv6 http://www.test-ipv6.com/ 如果不行,你需要先看光猫有没有开ipv6,比如我就是拿到公司光猫的

    2024年02月05日
    浏览(60)
  • IPv6下IP地址加端口写法

    带有端口号的IPV6地址字符串形式, 地址部分应用“[]”括起来, 在后面跟着‘:’带上端口号, 如 [A01F::0]:8000, “[]”中的双冒号表达的是其间部分是IPv6的地址压缩部分,用在程序里头的时候需要把它展开出来 例如:

    2024年02月11日
    浏览(35)
  • SSH连接WSL2踩坑记录与增加端口转换规则,实现外网与WSL2的连接

    1. 在WSL里的操作 1.1 重装 openssh-server 1.2 修改配置信息 打开文件后,可以用搜索修改如下的信息 把上面的都改完好,就重启ssh服务 至止,WSL里的的操作基本上已经完成了 2. ssh连接 2.1 先测试一下本机的终端是否能连接到WSL的ssh 先打开 power shell 或者 cmd 如上图,提示输入密码

    2024年02月15日
    浏览(55)
  • 群晖NAS无端口域名远程访问,ipv4、ipv6均可,开启https,需要云服务器+frp(内网穿透)+宝塔(反向代理)

     作者:陌路遥 其实这篇文章算不上教程,顶多算是经验总结。因为作者也是小白,也是在不断学习,本文所呈现的方法可能较为繁琐,并不是较为简洁的那种,只给大家做一个参考。大佬勿喷,保命。 其实群晖常用的外网远程访问,除了QC之外,就是ipv6+ddns动态域名解析,

    2024年02月09日
    浏览(70)
  • 如何快速创建IPv6子网?实现IPv6子网的办法

    创建一个子网的要点是什么?我如何记住这些看起来怪怪的子网掩码?这与IPv6地址如何配合工作?这篇文章将扩展以前关于子网和CIDR那篇教程的内容,以便让你更全面的理解子网的相关概念。 为什么我们不把所有设备都放在同一个子网之中?这样就不用再担心路由的问题。这个

    2024年02月07日
    浏览(47)
  • 入门小白,使用ubuntu,使用docker或者docker-compose搭建家庭个人网盘nextcloud,外网通过IPV6域名访问。第三篇--配置 ddns-go 以及 dynv6

    由于在第一篇中说过,放弃使用ipv4 连接 优点,家里设备都可以拥有一个 ipv6公网地址 缺点,地址会变。。。 缺点,公司网络网络下,可能访问不到。。。 所以采用ddns-go 配置 dynv6的方案 即使设备的ipv6地址变化了,也不用你做额外的事,一切交给系统就行。 不用写代码,不

    2024年02月06日
    浏览(48)
  • OpenWrt路由器设置IPv6域名动态解析,同时实现IPv4设备访问IPv6节点

    前不久刚写了一篇《OpenWrt路由器设置域名动态解析手把手教程》,对ipv4动态解析有了基本的认识。但随着ipv4地址的匮乏,很多地方已经不提供公网的动态ip了,只有ipv6公网地址可以访问了。于是想在上一篇博文的基础上补充ipv6的设置,并增加ipv4设备访问ipv6地址的解析方法

    2024年02月08日
    浏览(57)
  • CentOS如何修改SSH端口(SSH端口的修改方法)

      本文将分享  CentOS如何修改SSH端口(SSH端口的修改方法) 一、登录centos服务器 二、修改SSH配置文件 三、添加新端口   首次打开发现 Port 22是被注释的 去掉前面的 #,再增加一条Port 202,添加的监听端口号最好为10000~65535区间之内,即2的16次方、这样做防止202端口不能连接的

    2024年02月09日
    浏览(40)
  • 家庭网络实现公网IPv6

    下一章:DDNS、开发了一个windows服务、桌面程序动态更新阿里云域名解析 目录 前言: 一 、思路/流程 二 、设备差异决定操作差异 三 、步骤1:网关 设置(电信)  1.登录网关​编辑 2.开启IPv6上网模式 3.关闭网关防火墙(重点,开始考试,这里不关__________连接访问不到家庭

    2024年02月10日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包