【转载】Linux IO 模式及 select、poll、epoll 详解

【转载】原文地址 https://segmentfault.com/a/1190000003063859

注:本文是对众多博客的学习和总结,可能存在理解错误。请带着怀疑的眼光,同时如果有错误希望能指出。

同步 IO 和异步 IO,阻塞 IO 和非阻塞 IO 分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。

1
本文讨论的背景是Linux环境下的network IO。
阅读更多

用iptables实现端口转发

以下操作在中转服务器上进行

启用iptables转发

1
vi /etc/sysctl.conf

将 net.ipv4.ip_forward=0 ,修改成 net.ipv4.ip_forward=1

编辑完后使用以下命令让配置立即生效

1
sysctl -p

添加iptables规则

1
2
3
4
iptables -t nat -A PREROUTING -p tcp --dport [端口号] -j DNAT --to-destination [目标IP]
iptables -t nat -A PREROUTING -p udp --dport [端口号] -j DNAT --to-destination [目标IP]
iptables -t nat -A POSTROUTING -p tcp -d [目标IP] --dport [端口号] -j SNAT --to-source [本地服务器公网IP]
iptables -t nat -A POSTROUTING -p udp -d [目标IP] --dport [端口号] -j SNAT --to-source [本地服务器公网IP]

此时,中转服务器上的端口号和目标IP的端口号绑定在一起了,请求中转服务器端口如同请求目标IP的端口

便捷你的SSH

便捷你的SSH

当有两台或以上云服务器的时候,每次登录都要

1
2
$ ssh <user>@<hostname>  [-p ...]
password: ******

这样会造成很多不必要的麻烦——每次都要输入用户和密码,于是我们通过配置ssh-key来认证服务器。

阅读更多