linux 用SSH怎么查看哪些IP正在访问服务器
1、首先连接到Linux主机并进入命令行状态。
2、在命令行状态下,输入命令:netstat -ntu | awk'{print $ 5}'| cut -d:-f1 |排序| uniq -c | sort -n,按Enter键。
3、打印出访问服务器的IP列表。
扩展资料
1、实现此的技术原理:在内网通过域名绑定服务器,外网SSH访问连接时,通过域名的访问,实现访问内网LINUX。
2、具体的实现过程如下:明确LINUX服务器内网访问地址端口,确保LINUX服务器正常开启SSH服务,在内网SSH可以正常访问连接。如图所示:
3、被访问端的Linux主机上使用nat123动态域名解析Linux版本。在被访问端的Linux服务器安装nat123客户端,并登录使用它。
4、登录网页,左侧用户中心,添加域名解析,选择动态域名解析并添加确认。选择动态域名解析记录,使用二级域名,或自己的域名。鼠标放在输入框有向导提示。如不理解负载均衡,不要勾选多点登录。
5、新添加动态解析后,等待几分钟生效。解析生效后,动态解析域名与本地公网IP是保持对应的。可以通过ping下域名核实,返回结果IP地址为本地公网IP地址时,表示动态解析生效正常。
6、路由器端口映射,路由映射SSH访问22端口。因为公网IP是在路由器上的,外网访问时,需要经过路由,需要在路由器上做端口映射,将内网LINUX服务器访问22端口打通。路由器端口映射位置:转发规则/虚拟服务器/添加允许外网访问端口和协议。我的LINUX服务器SSH服务端口是默认的22,我内网对应LINUX服务器主机的内网IP地址是192168129。
Linux系统中,如果需要禁止特定ip地址访问来保证系统的安全,只需通过操作iptalbes来实现,下面就给绍下Linux如何禁止某个ip地址访问。
一、概述
这两个文件是tcpd服务器的配置文件,tcpd服务器可以控制外部IP对本机服务的访问。这两个配置文件的格式如下:
#服务进程名:主机列表:当规则匹配时可选的命令操作
server_name:hosts-list[:command]
/etc/hostsallow控制可以访问本机的IP地址,/etc/hostsdeny控制禁止访问本机的IP。如果两个文件的配置有冲突,以/etc/hostsdeny为准。
/etc/hostsallow和/etc/hostsdeny两个文件是控制远程访问设置的,可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。
比如SSH服务,通常只对管理员开放,那就可以禁用不必要的IP,而只开放管理员可能使用到的IP段。
二、配置
1、修改/etc/hostsallow文件
#
# hostsallow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server
#
sshd:21013218:allow
sshd:2227715:allow
all:21824129110 #表示接受110这个ip的所有请求!
intelnetd:140116440/2552552550
intelnetd:140116790/2552552550
intelnetd:14011614199
intelnetd:LOCAL
smbd:19216800/2552552550 #允许1921680网段的IP访问smbd服务
#sendmail:19216810/2552552550
#pop3d:19216810/2552552550
#swat:19216810/2552552550
pptpd:all EXCEPT 19216800/2552552550
httpd:all
vsftpd:all
以上写法表示允许210和222两个ip段连接sshd服务(这必然需要hostsdeny这个文件配合使用),当然:allow完全可以省略的。
ALL要害字匹配所有情况,EXCEPT匹配除了某些项之外的情况,PARANOID匹配你想控制的IP地址和它的域名不匹配时(域名伪装)的情况。
2、修改/etc/hostsdeny文件
#
# hostsdeny This file describes the names of the hosts which are
# not allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hostsdeny and hostsallow In particular
# you should know that NFS uses portmap!
sshd:all:deny
intelnet:ALL
ALL:ALL EXCEPT 19216801/2552552550,192168121,
2021050/2552552550
注意看:sshd:all:deny表示拒绝了所有sshd远程连接。:deny可以省略。
3、启动服务。
注意修改完后:
#service xinetd restart
才能让刚才的更改生效。
/etc/hostsallow和/etc/hostsdeny两个文件是控制远程访问设置的,通过设置这个文件可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。
如果请求访问的主机名或IP不包含在/etc/hostsallow中,那么tcpd进程就检查/etc/hostsdeny。看请求访问的主机名或IP有没有包含在hostsdeny文件中。如果包含,那么访问就被拒绝;如果既不包含在/etc/hostsallow中,又不包含在/etc/hostsdeny中,那么此访问也被允许。
文件的格式为:<daemon list>:<client list>[:<option>:<option>:]
daemon list:服务进程名列表,如telnet的服务进程名为intelnetd
client list:访问控制的客户端列表,可以写域名、主机名或网段,如pythonorg或者1921681
option:可选选项,这里可以是某些命令,也可以是指定的日志文件
文件示例:hostsdeny文件
Linux防火墙Iptable如何设置只允许某个ip访问80端口,只允许特定ip访问某端口?参考下面命令,只允许4616615022访问本机的80端口。如果要设置其他ip或端口,改改即可。
iptables -I INPUT -p TCP --dport 80 -j DROP
iptables -I INPUT -s 4616615022 -p TCP --dport 80 -j ACCEPT
在root用户下执行上面2行命令后,重启iptables, service iptables restart
查看iptables是否生效:
[root@xxxx]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 4616615022 anywhere tcp dpt:http
DROP tcp -- anywhere anywhere tcp dpt:http
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
上面命令是针对整个服务器(全部ip)禁止80端口,如果只是需要禁止服务器上某个ip地址的80端口,怎么办?
下面的命令是只允许来自1741403190的ip访问服务器上216991216的80端口
iptables -A FORWARD -s 1741403190 -d 216991216 -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A FORWARD -d 216991216 -p tcp -m tcp --dport 80 -j DROP
如果您不熟悉linux的ssh命令,那么可以在webmin/virtualmin面板中设置,达到相同效果。参考:webmin面板怎样设置允许特定ip访问80端口,禁止80端口
更多iptables参考命令如下:
1先备份iptables
# cp /etc/sysconfig/iptables /var/tmp
需要开80端口,指定IP和局域网
下面三行的意思:
先关闭所有的80端口
开启ip段19216810/24端的80口
开启ip段21112316123/24端ip段的80口
# iptables -I INPUT -p tcp --dport 80 -j DROP
# iptables -I INPUT -s 19216810/24 -p tcp --dport 80 -j ACCEPT
# iptables -I INPUT -s 21112316123/24 -p tcp --dport 80 -j ACCEPT
以上是临时设置。
2然后保存iptables
# service iptables save
3重启防火墙
#service iptables restart
在服务器上进行如下命令操作进行规则设置即可:
#iptables -A INPUT -s ip段/网络位数 -j DROP
例如:禁止1721610/24网段访问服务器,直接在服务器上用命令就可以实现
#iptables -A INPUT -s 1721610/24 -j DROP (添加规则,所有来自这个网段的数据都丢弃)
#/etc/rcd/initd/iptables save (保存规则)
#service iptables restart (重启iptables服务以便生效)
0条评论