我正在尝试使用 kvm 作为虚拟机管理程序在主机与其客户虚拟机之一之间建立通信通道。为此,我使用virtio-serial。
为了创建虚拟机,我发出了以下命令:
qemu-system-x86_64 \
-m 2048 -name ubuntu \
-hda ubuntu_image \
-device virtio-serial \
-chardev socket,path=/tmp/foo,server,nowait,id=foo \
-device virtconsole,name=jobsfoo,chardev=foo,name=org.ubuntu.foo \
Run Code Online (Sandbox Code Playgroud)
然后为了在客人上进行交流,我使用:
socat /dev/hvc0 -
Run Code Online (Sandbox Code Playgroud)
在主机上:
socat /tmp/foo -
Run Code Online (Sandbox Code Playgroud)
我开始明白这/tmp/foo是一个套接字和/dev/hvc0一个字符设备。
为什么有一个对称的通信接口:主机上的套接字和客户机上的字符设备?
各位,有一个奇怪的问题,需要您的专家帮助。对于我们在审计中频繁使用的面向外部的服务器之一,nmap -Pn 扫描显示以下内容:
Starting Nmap 5.51 ...
Host pub.ip is up (0.0032s latency).
Not shown: 993 filtered ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
113/tcp closed auth
119/tcp open nntp
8008/tcp open http
8010/tcp open xmpp
Run Code Online (Sandbox Code Playgroud)
现在,这是一个公共 FTP/SFTP 服务器,物理主机上的 netstat /lsof 确认只有端口 21 (ftp)、22 (ssh) 和 25(内部 smtp)正在侦听。
ASA FW 配置显示它仅允许从 pub ip 到 ftp/ssh 上的内部 IP 的 NAT:
static (dmz3,pub1) pub.ip internalftp.ip netmask 255.255.255.255
access-list pub1_access_in extended permit tcp any host pub.ip eq …Run Code Online (Sandbox Code Playgroud) 我有一个 Gunicorn 套接字文件:/opt/rtd/gunicorn/run.sock. 我需要 nginx 才能打开这个套接字并写入它。
当我运行时,sesearch --allow -s httpd_t | grep unix_stream_socket我注意到httpd_t被允许连接到httpd_t类型的套接字。但当我尝试应用它时,我得到:
# semanage fcontext -a -t httpd_t "/opt/rtd/gunicorn/run.sock"
ValueError: Type httpd_t is invalid, must be a file or device type
Run Code Online (Sandbox Code Playgroud)
我尝试过从 sesearch 找到的其他类型,例如httpd_sys_script_t甚至乘客_t。相同的结果。
我应该将类型设置为什么?
我希望不必制定额外的政策来允许超出必要的范围。一定有办法允许 httpd_t 从具有 CentOS 7.2 中现有策略的文件套接字中读取数据,对吧?
我知道 0.0.0.0 上的监听套接字正在监听所有 IPv4 接口。但如果我们在 powershell 中检查,我们也会在 0.0.0.0 上看到很多“绑定”库存Get-NetTCPConnection。全部位于高端口号 (63000+) 上,本地和远程地址均为 0.0.0.0,远程端口为 0。
这可能是什么类型的插座?我们在 Windows Web 服务器 (2016) 上看到了这一点,该服务器为许多网站 (IIS) 提供服务。该服务器还托管 ASP.NET 状态服务器,也可以从同一网络中的另一台服务器访问该服务器。
当这些站点上有大约 50-100 个活跃用户时,大约有 1000 个套接字处于打开状态。当活动增多时,这些套接字的数量也会增加。
我有一个正在运行的屏幕会话,我想退出,但我不能,因为当我尝试重新连接时,我收到一条错误消息,说它无法打开我的终端。我确信我可以杀死守护进程或其他什么,但我需要学习“正确”的方式,以及实际发生的事情。
daniel@DELIRIUM:~/server1/bin/plugins$ screen -list
There is a screen on:
1424.pts-0.DELIRIUM (06/23/2011 01:18:14 PM) (Detached)
1 Socket in /var/run/screen/S-daniel.
daniel@DELIRIUM:~/server1/bin/plugins$ screen -r 1424
Cannot open your terminal '/dev/pts/0' - please check.
Run Code Online (Sandbox Code Playgroud)
另外,什么是插座?你越能把它弄糊涂就越好。
我是 Torservers.net 的创始人,这是一个运行 Tor 出口节点的非营利组织。我们有许多具有 Gbit 连接和多个 IP 的机器,而且我们似乎在所有这些机器上都达到了开放 TCP 套接字的限制。我们总共徘徊在大约 70k 的 TCP 连接总数(每个 IP 大约 10-15k),并且 Tor 正在记录“错误绑定网络套接字:地址已经在使用中”像疯了一样。有什么解决办法吗?BSD 是否也有同样的问题?
我们运行 Tor 进程,每个进程监听不同的 IP。例子:
# NETSTAT=`netstat -nta`
# echo "$NETSTAT" | wc -l
67741
# echo "$NETSTAT" | grep ip1 | wc -l
19886
# echo "$NETSTAT" | grep ip2 | wc -l
15014
# echo "$NETSTAT" | grep ip3 | wc -l
18686
# echo "$NETSTAT" | grep ip4 | wc -l
14109
Run Code Online (Sandbox Code Playgroud)
我已经应用了我可以在互联网上找到的调整:
# cat /etc/sysctl.conf
net.ipv4.ip_forward …Run Code Online (Sandbox Code Playgroud) 我php5-fpm在 Ubuntu 上运行,使用 的UNIX套接字/var/run/php5-fpm/www.conf.sock。在安装过程中,我手动创建了php5-fpm内部文件夹/var/run/,以便php5-fpm可以在其中创建其套接字,这是可以的。问题是,每当我重新启动计算机时,该php5-fpm文件夹就会消失/var/run并且php5-fpm不再能够创建套接字,因此每次重新启动时我都需要/var/run/php5-fpm/手动再次创建该文件夹。我可以将该例程放入/etc/init.d/php5-fpm启动脚本中,但我想知道以下内容:
是否有任何原因导致该/var/run/php5-fpm/文件夹在重新启动时应被删除?
信息:我正在运行ubuntu 12.04桌面(我计划在主机上使用服务器版本,但现在正在我的笔记本电脑上使用桌面版本进行一些测试)。
在 nginx 中,将其配置为代理 unix.sock文件相当简单
例如:
upstream bla {
server unix:///home/sam/Source/bla/tmp/sockets/thin1.sock;
server unix:///home/sam/Source/bla/tmp/sockets/thin2.sock;
}
Run Code Online (Sandbox Code Playgroud)
haProxy 中是否有类似的语法来启用平衡本地.sock文件
我想启动一个 websocket 服务器,但无法从其他机器连接到它。只有当我使用 root 权限启动 websocket 服务器时,它才能工作。所以这似乎是一个权限问题。
我的用户需要哪些权限才能打开套接字?
socket ×10
linux ×3
debian ×2
centos ×1
centos7 ×1
cisco-asa ×1
firewall ×1
gnu-screen ×1
haproxy ×1
nginx ×1
nmap ×1
performance ×1
permissions ×1
powershell ×1
selinux ×1
tcp ×1
tuning ×1
ubuntu ×1
ubuntu-11.04 ×1
virtio ×1