本文给各位分享linux端口限速的知识,其中也会对linux限制ip访问端口进行解释,都是最近更新的内容,希望对你有所帮助!
本文目录:
- 1、Linux:服务器:我在root目录下建一个abc文件,用FTP测试连接时用匿名用户登录,put
- 2、如何对linux下某个端口限速
- 3、如何在外网用SSH访问内网LINUX服务器
- 4、linux怎么加端口url请求
- 5、linux中如何控制端口流量
Linux:服务器:我在root目录下建一个abc文件,用FTP测试连接时用匿名用户登录,put
FTP服务器配置
VSFTP主配置文件路径:/etc/vsftpd/vsftpd.conf,重要参数:
anonymous_enable=yes/no 是否允许匿名用户访问
anon_upload_enable=yes/no 是否允许匿名用户上传文件
anon_mkdir_write_enable=yes/no 是否允许匿名用户创建目录
anon_other_write_enable=yes/no 匿名用户和虚拟用户是否拥有删除权限
local_enable=yes/no 是否允许本地用户登陆
write_enable=yes/no 设置全局是否可写
anon_root=/var 指定匿名用户目录
chroot_local_user=yes 锁定所有用户到用户主目录
chroot_list_enable=yes/no 锁定列表中的用户到主目录,需要配合下一参数使用
chroot_list_file=/etc/vsftpd/chroot_list 指定存储被锁定用户的列表文件位置
chown_uploads=yes/no 匿名用户上传所有者指定功能,需要与下一参数配合使用
chown_username=用户名 指定匿名用户上传文件的所有者
max_clients=300 最大客户端连接数为300
anon_max_rate=30000 匿名用户和虚拟用户限速为30K/S
local_max_rate=30000 本地用户限速为30K/S
max_per_ip=10 每个IP最大连接数
listen_port=22 更改监听端口
实现如下要求:允许匿名用户登陆,匿名用户限速为60K/S,只允许下载。监听端口为22,最大连接数为10。新建用户ftp1,限速为200K/S,允许上传下载删除新建文件夹。进入目录/etc/vsftpd,用vi编辑器打开vsftpd.conf主配置文件:
直接添加以下选项: [root@LidadeFedora vsftpd]# service vsftpd restart
添加用户ftp1,设置登录脚本为 /sbin/nologin:
vsftp默认目录为:/var/ftp,为方便测试,在/var/ftp下新建一个文件”testLocal”,在”/var/ftp/pub”新建一个文件”testAnon”。
由于使用root用户新建文件,文件的所有者为root,所以需要把文件的权限设置为644其他用户才能读取该文件
设置/var/ftp/pub权限为777,表示所有用户均有读写权限.
由于端口22被ssh服务器占用,所以需要关闭ssh服务并重启vsftp服务。
客户端用Flashfxp测试:新建站点”VsftpTest”,输入Vsftp服务器的IP地址,端口填22,用户名填ftp1,密码填你设置的密码,然后点击”连接”按钮:
由于没有使用选项:local_root,登陆本地用户时自动跳转到该用户的主目录.没有使用chroot_local_user=yes,所以本地用户可以浏览整个文件系统中他有权限读取的文件和文件夹:
切换到目录”/var/ftp/pub”,该目录的权限为777,上传一个10M以上的文件,测试ftp1的上传速度:
新建文件夹和删除权限测试省略。下面测试匿名用户权限:勾选”匿名”选项并连接:
匿名用户登陆成功: 进入pub目录,尝试删除testAnon文件失败,说明这里是配置文件中的anon_other_write_enable=no生效了。最终权限等于配置文件中的权限和linux文件系统权限相或的结果。比如vsftp配置文件中允许匿名用户下载,但光这样是不够的,还需要被下载的文件或文件夹的能够被其他用户读取。
尝试上传文件失败,符合匿名用户只允许下载的要求:
最后测试匿名用户的下载速度:
vsftp的配置参数总共也就10来行,但是想要使用好它,绝没有单单理解这10来行这么简单,需要对每一行所定义的参数都理解透彻才可以.
匿名用户的配置:
anonymous_enable=YES //允许匿名用户登录
anon_root=/var/ftp/anonymous //设定匿名用户登录后的根目录
anon_upload_enable=YES //允许匿名用户上传文件
只需要打开如上的参数即可,不用做其他的设置.本地用户登录配置
首先说一下概念,什么是本地用户,本地用户就是你系统/home目录下的用户,当然有的用户建立时候使用-m命令,使用户在/home下没有目录,但是这个词的意思就是系统里面有的用户.
local_enable=YES //允许本地用户登录
local_root=/home //限制本地用户登录后的根目录
eg:
[root@centos ftp]# ftp 192.168.0.125
Connected to 192.168.0.125.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.0.125:root): xu
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp ls
227 Entering Passive Mode (192,168,0,125,135,123)
150 Here comes the directory listing.
drwx—— 2 505 503 4096 Jun 26 09:42 chuan
drwx—— 2 507 507 4096 Jun 30 22:26 ftp
drwx—— 2 504 502 4096 Jun 26 09:42 joe
drwx—— 2 506 503 4096 Jun 26 09:43 laomeng
drwx—— 2 502 504 4096 Jun 26 09:42 master
drwx—— 2 503 502 4096 Jun 26 09:42 mike
drwx—— 2 500 500 4096 Jun 25 21:34 xiaochuan
drwxrwxrwx 2 508 508 4096 Jun 30 22:39 xu
drwx—— 2 501 501 409埂福第核郢姑电太钉咖6 Jun 25 20:25 xujunchuan
226 Directory send OK.
ftp pwd
257 “/home”
限制用户目录部分
chroot_local_use=YES|NO //是否将本地用户锁定在家目录
chroot_list_enable=YES|NO //是否锁定使用者在家目录中
chroot_list_file=/etc/vsftpd/chroot_list //一般情况下都将这个文件写在/etc/vsftpd目录下,这个文件就是设置锁定用户的一个列表文件,其中一行就代表一个用户
设置欢迎信息
dirmessage_enable=YES
message_file=.message
[root@centos ftp]# cd /home
[root@centos home]# vi .message
welcomt to VSFTP………….
C:\Documents and Settings\Administratorftp 192.168.0.125
Connected to 192.168.0.125.
220 (vsFTPd 2.0.5)
User (192.168.0.125:(none)): xu
331 Please specify the password.
Password:
230-welcomt to VSFTP………….
230 Login successful.
ftp
如何对linux下某个端口限速
iptables不行,需要用tc进行流量控制。
iptables可以通过限制包的数量来控制速度 –m limit –limit xx/s
如何在外网用SSH访问内网LINUX服务器
一,动态公网IP环境
1,环境描述:
路由器分配的是动态公网IP,且有路由管理权限,LINUX主机部署在路由内网。如何实现外网SSH访问内网LINUX主机?
2,解决方案:
使用nat123动态域名解析,解决动态公网IP问题。
3,实现过程:
方法一:在同局域网下另一台windows主机中使用动态解析windows版。
动态域名解析windows版,实现步骤参考《外网访问内网LINUX-动态公网IP动态域名解析-windows版》
方法二:在被访问端Linux主机中使用动态域名解析Linux版。
动态域名解析Linux版,实现方法参考《外网SSH访问内网LINUX-动态解析-Linux版》
二,内网环境,无公网IP
1,环境描述:
LINUX部署在内网环境,没有公网IP,在内网可以上外网。如何实现在外网SSH访问内网LINUX主机?
2,解决方案:
使用nat123端口映射,一步映射即可将内网LINUX地址映射到外网,实现外网的访问。
3,实现过程:
方法一:在同一内网的windows主机中使用非网站转发映射或全端口映射windows版。
非网站映射windows版,实现方法过程参考《外网SSH访问内网LINUX-非网站映射-windows版》
全端口映射windows版,实现方法参考《外网SSH访问内网LINUX-全端口映射-windows版》
方法二:在被访问端Linux主机中使用Linux版的非网站映射或全端口映射。
Linux版非网站映射,实现方法步骤《外网ssh访问内网linux-非网站映射-linux版》
Linux版全端口映射,实现过程参考《外网访问内网Linux-全端口映射-Linux版》
提示:
本地(动态)公网IP时,使用动态域名解析,动态解析后,域名访问完全走本地带宽。
内网环境,非网站应用,优先考虑使用全端口映射,穿透不限速。
快速了解相关:
使用端口映射还是动态域名解析? 端口映射与动态域名解析的区别? 选择什么映射类型?
80映射与网站加速的区别? 本地加速与网站加速的区别? 免费与VIP的区别? 如何选择映射VIP?
如何使用映射VIP(80网站)? 如何使用映射VIP(非网站)? 如何使用动态域名解析VIP服务?
如何使用自己的域名(根域名和www子域名)?
当前活动:
1. 非网站映射VIP免费体验。 2. 网站加速VIP免费体验。 3. 全端口映射VIP免费体验。
4. 充值送N币再送T币。 5. 站外分享送T币活动。
端口映射高级功能:
1. 如何切换使用映射VIP线路。 2. http穿透解决http屏蔽问题。 3. 端口映射应用多机负载均衡。
4. 80映射网站默认使用快照提示取消。 5. 映射网站默认未登录提示页面自定义。
6. 如何设置映射网站离线转跳自定义目标地址。 7. 自主发布映射服务。
动态域名解析高级功能:
1. 动态域名解析应用多机负载均衡。 2. 动态域名解析VIP怎么用。
域名解析高级功能:
1. 域名解析A记录宕机检测和故障转移。 2. URL显性转发和隐性转发。 3. URL转发默认提示取消。
关于Linux命令的介绍,看看《linux就该这么学》,具体关于这一章地址3w(dot)linuxprobe/chapter-02(dot)html
远程开机:
1. 微信/网页远程开机。
linux怎么加端口url请求
curl 命令,是一个利用URL规则在命令行下工作的文件传输工具。
curl 支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。
作为一款强力工具,curl支持包括HTTP、HTTPS、FTP等众多协议,还支持 GET、POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征,还可以做网页处理流程和数据检索自动化。
在进行web后台程序开发测试过程中,常常会需要发送url进行测试,使用curl可以方便地模拟出符合需求的url命令
curl 语法:curl [options…] url? ? ? ? ??#?curl (选项) (参数)
示例1:curl -m 30 –retry 3 ? ? ? ? ??// curl 爬取网页,获取本机外网ip
示例2:curl -m 30 –retry 3 -x ? ? ? ? ??// curl 通过代理IP爬取网页,获取本机外网ip
更多示例:? ?(Shell curl wget)
使用curl发送GET请求:curl protocol://ip:port/url?args
curl?;passwd=12345678??
使用curl发送POST请求: (推荐)
curl -d “key1=value1key2=value2key3=value3” protocol://ip:port/path
示例1:curl -d ‘post_data=i_love_mimvp.com’ ? ? ? ??// 测试 post ,发送什么数据就返回什么数据,如 ‘i_love_mimvp.com’
示例2:curl?-d?”user=adminpasswd=12345678″?????// 测试 post ,模拟发送登录的用户名和密码
这种方法是参数直接在header里面的,如需将输出指定到文件可以通过重定向进行操作.
curl -H “Content-Type:application/json” -X POST -d ‘json data’ URL
示例1:curl -H “Content-Type:application/json” -X POST -d ‘{“post_data”:”i_love_mimvp.com”}’ ”
示例2:curl?-H?”Content-Type:application/json”?-X?POST?-d?'{“user”:?”admin”,?”passwd”:”12345678″}’???
curl 应用实例
1. 文件下载
curl命令可以用来执行下载、发送各种HTTP请求,指定HTTP头部等操作。
如果系统没有curl可以使用?yum?install?curl 安装,也可以下载安装。
curl是将下载文件输出到stdout,将进度信息输出到stderr,不显示进度信息使用?–silent 选项。
curl URL –silent
这条命令是将下载文件输出到终端,所有下载的数据都被写入到stdout。
使用选项-O将下载的数据写入到文件,必须使用文件的绝对地址:
curl –silent -O
选项-o将下载数据写入到指定名称的文件中,并使用–progress显示进度条:(常用)
curl
linux中如何控制端口流量
配置网卡
建立一台虚拟机,并安装完成后以桥接的方式在虚拟机上面添加两张网卡。分别为eth0和eth1。
eth0: a.b.c.d(外网的上网地址)
eth1: 172.16.44.1(做为内网的网关)
Tip
原先我使用eth0:0的这种虚拟网卡的形式去配置一直不成功,后来使用双网卡的时候一直忘了把eth0:0这张虚拟网卡删掉导致了限速配置一直不成功,浪费了大把的青葱。
配置iptables nat
#开启ip_forward
echo “1”/proc/sys/net/ipv4/ip_forward
#清除原来的防火墙规则
iptables -F
iptables -t nat -F
iptables -t mangle -F
#添加nat转发
iptables -t nat -A POSTROUTING -s 172.16.44.0/24 -o eth0 -j MASQUERADE
通过执行上面的代码后,局域网内的电脑就可以上网了。
端口转发
由于我的内网还挂了网站,所以要开启80端口的转发。
iptables -t nat -I PREROUTING -p tcp -d a.b.c.d –dport 80 -j DNAT –to 172.16.44.210:80
iptables -t nat -I POSTROUTING -p tcp -d 172.16.44.210 –dport 80 -j SNAT –to 172.16.44.1
这条命令指定外网地址a.b.c.d的80端口转发到172.16.44.210:80上。由于是双网卡,所以需要做一下回路。
下载限速
下载限速要在eth1上面做,判断数据包的目的地址来做限制。tc包括三部分:队列、类、过滤器。我使用了htb方式去限制速度,也可以使用cbq,但cbq配置比较复杂一点,而且据说性能没htb好。
#删除原来的tc规则队列
tc qdisc del dev eth1 root
#添加tc规则队列
tc qdisc add dev eth1 root handle 10: htb default 256
#生成根类
tc class add dev eth1 parent 10: classid 10:1 htb rate 100mbit ceil 100mbit
#支类列表用于限制速度
#这里的rate指的是保证带宽,ceil是最大带宽。
tc class add dev eth1 parent 10:1 classid 10:10 htb rate 400kbps ceil 400kbps prio 1
#添加支类规则队列
#采用sfq伪随机队列,并且10秒重置一次散列函数。
tc qdisc add dev eth1 parent 10:10 handle 101: sfq perturb 10
#建立网络包过滤器,设置fw。
tc filter add dev eth1 parent 10: protocol ip prio 10 handle 1 fw classid 10:10
#在iptables里面设定mark值,与上面的handle值对应。
iptables -t mangle -A POSTROUTING -d 172.16.44.130 -j MARK –set-mark 1
通过上面的代码就可以限制172.16.44.130这台机子的下载速度到400kbps。
Tip
经过实际测试这里的kbps实际上就是KB/S每秒千字节。另一个单位是kbit,这个才是每秒千比特。这里的172.16.44.130也可以写成一个网段,比如:172.16.44.0/24
上传限速
上传限速的原理其实跟下载的差不多,只不过限制的网卡不同,要在eth0上过滤来源地址去限制。
#删除原来的tc规则队列
tc qdisc del dev eth0 root
#添加tc规则队列
tc qdisc add dev eth0 root handle 20: htb default 256
#生成根类
tc class add dev eth0 parent 20: classid 20:1 htb rate 100mbit ceil 100mbit
#支类列表用于限制速度
tc class add dev eth0 parent 20:1 classid 20:10 htb rate 40kbps ceil 40kbps prio 1
#添加支类规则队列
tc qdisc add dev eth0 parent 20:10 handle 201: sfq perturb 10
#建立网络包过滤器
tc filter add dev eth0 parent 20: protocol ip prio 100 handle 2 fw classid 20:10
iptables -t mangle -A PREROUTING -s 172.16.44.130 -j MARK –set-mark 2
Tip
跟下载不同的是POSTROUTING要改成PREROUTING,-d改成-s。
观察连接数
通过iptables的nat连接可以通过下面的代码查看。至于统计连接数可以写代码实现,也可以利用awk,grep等工具。反正里面的内容就是文本,处理起来也比较简单。
cat /proc/net/ip_conntrack
写在结尾
到此上网、端口转发和流量限制都已经实现。下次再考虑配置个dhcp server和dnsmasq。至于一些路由器其它诸如mac地址绑定,限制上网等用到的时候再去研究研究。
本文关于linux端口限速和linux限制ip访问端口的内容来源于网络,版权归原作者所有,如有侵权,请联系删除!