虚拟机中kail同时支持联网和ssh

学习白帽子前提就是有一个kail环境,初学者通常在windows下用虚拟机配合远程终端工具,往往就要遇到虚拟机中kail既要联网又要SSH的需求

22端口

检查端口

使用ufwiptables指令查看端口是否打开

# 查看规则,显示行号
ufw status numbered
iptables -nL --line-number

开放端口

可以使用ufwiptables的方式把22端口加入白名单

# 安装ufw
apt-get install ufw
# 开放22/TCP端口
ufw allow 22/tcp
# 启动防火墙
ufw enable
# ------------------------------------------------
# 其他常用指令
# 检查防火墙的状态(默认 inactive)
ufw status
# 防火墙版本
ufw version
# 关闭防火墙
ufw  disable
# 默认禁止访问所有
ufw default deny
# 开放53端口(tcp/udp)
ufw allow 53
# 禁止8080端口访问
ufw deny 8080
# 删除已经添加过的规则 
ufw delete allow 22
# 允许特定IP访问所有的本机端口 
ufw allow from 192.168.1.100
# 删除上面的规则  
ufw delete allow from 192.168.1.100
# 查看规则,显示行号
ufw status numbered
# 结合上条指令中的行号,删除第三条规则
ufw delete 3

# 开放22端口:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
# 查看iptable规则表,看看开了哪些端口
iptables -nL --line-number
# 删除某个iptable规则
iptables -D INPUT 5

SSH相关

查看状态

使用lsofnetstat指令查看端口是否打开

# 正常打开情况下,如下图所示
lsof -i :22
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd     640 root    3u  IPv4  19553      0t0  TCP *:ssh (LISTEN)
sshd     640 root    4u  IPv6  19555      0t0  TCP *:ssh (LISTEN)

netstat -lnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN  

启用SSH

修改/etc/ssh/sshd_config文件

# 将PasswordAuthentication的注释去掉,并且将NO修改为YES
PasswordAuthentication  yes
# 将PermitRootLogin修改为 yes
PermitRootLogin yes

启用SSH

# 启动ssh
/etc/init.d/ssh start
systemctl start ssh
# 查看状态
/etc/init.d/ssh status
systemctl status ssh
# 系统自动启动SSH服务
update-rc.d ssh enable
# 关闭系统自动启动SSH服务
update-rc.d ssh disabled

虚拟网卡

连接方式

如果需求既要联网又要SSH,虚拟机中可以采用桥接或host only(分配IP以便SSH)+NAT(联网可访问外网)的方式。其中桥接最方便,但如果网络不是公开网络,或者有身份验证机制可能会导致桥接无法正常工作。

桥接

关节点就是桥接至的设备选择绑定当前宿主机实际联网的硬件设备上,如果VMnet0没有需要管理员权限更改设置或者还原默认设置
在这里插入图片描述

仅主机&NAT

在Kail中的Network Configuration创建Ethernet设备,系统默认只有一个Wired ,为了满足仅主机和NAT的需求,至少要有两个,因此需要再创建一个。
在这里插入图片描述
查看地址

ip addr

释放地址

dhclient -r eth0
dhclient -r eth1

分配地址

dhclient -v eth0
dhclient -v eth1
# 类似如下信息表示分配成功
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
DHCPOFFER of 192.168.254.130 from 192.168.254.254
DHCPREQUEST for 192.168.254.130 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.254.130 from 192.168.254.254
RTNETLINK answers: File exists
bound to 192.168.254.130 -- renewal in 872 seconds.

重启网络

/etc/init.d/networking restart
systemctl restart networking

自启动双网卡

默认情况下虚拟机每次启动只会启用NAT网卡,会导致联网和SSH不能兼得,此时Host Only网卡需要dhclient分配地址,为了能同时自启动双网卡需要修改/etc/network/interfaces

auto eth1
iface eth0 inet dhcp

固定IP

上述地址都是dhcp的,动态IP对SSH不变,如果要固定IP还是需要修改 /etc/network/interfaces

auto eth1
iface eth1 inet static
address 192.168.xx.xx # ip地址 根据网卡配置,地址有所不同
netmask 255.255.255.0 # 子网掩码
gateway 192.168.xx.0 # 网关

版权声明:本文为am540原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。