我是一个程序员,试图找出一些超出我的领域的东西: 说我有一台机器,客户端将使TCP(但不是http!)连接到它。 我想根据他们连接到的主机名将客户端redirect到他们自己的端口。 例如,client1连接到client1.myserver.com并连接到端口1234. client2.myserver.com – > 1235,client3.myserver.com – > 1236等 我想dynamic地控制主机y的端口x实际上指向物理机器上的端口z。 当search这个信息,我看到防火墙,代理,反向代理的参考。 我真的需要哪些软件? 现有的软件是否允许按需更改(我听说防火墙需要一天的更改)? 如果我想自己编写这样一个层(因为它可能有点特定于应用程序),是否可以在java或node.js中完成(我的意思是可以使用更高级别的API来完成,或者我必须开始拆分ip包)? 我怎么知道客户端连接到哪个主机名,因为所有的主机名都parsing到同一台机器上? 我会很欣赏任何阅读材料的指针。
我需要所有80的要求转发到8020.我google了,我知道了。 iptables -t nat -I PREROUTING –source 0/0 –destination 0/0 -p tcp –dport 80 -j REDIRECT –to-ports 8020 现在在furute,如果我不得不撤消它,我该怎么做(除了重新启动系统) 提前致谢 :)
我有三台机器:一台本地PC(公共IP 1.2.3.4),一个数据中心的Ubuntu 10服务器盒(5.6.7.8公共IP上的eth0)以及一个托pipe我networking之外的网站的第三方服务器Slashdot在216.34.181.45)。 使用iptables,如何使用5.6.7.8:8080从本地机器访问Slashdot? 如果Slashdot与我的Ubuntu盒子在同一个LAN上,这个过程会不同吗? 这可以通过NAT PREROUTING / POSTROUTING完成,还是需要MASQUERADE?
我有一个主机上运行的LXC容器( 10.0.3.2 )。 服务在端口7000上的容器内运行。 从主机( 10.0.3.1 , lxcbr0 ),我可以达到服务: $ telnet 10.0.3.2 7000 Trying 10.0.3.2… Connected to 10.0.3.2. Escape character is '^]'. 我很乐意让这个服务在外面的世界里运行。 因此,我想将主机上的端口7002转发到容器上的端口7000 : iptables -t nat -A PREROUTING -p tcp –dport 7002 -j DNAT –to 10.0.3.2:7000 其结果是( iptables -t nat -L ): DNAT tcp — anywhere anywhere tcp dpt:afs3-prserver to:10.0.3.2:7000 不过,我无法使用转发的端口从主机访问服务: $ telnet […]
我们目前已将所有电子邮件存储在内部networking中的Dovecot IMAP服务器上。 networking上的客户端机器能够连接并访问他们的电子邮件。 现在我们希望允许某些用户使用IMAP从外部连接和查看他们的电子邮件。 我们目前有一个防火墙/路由器与一个专用(未使用的)DMZ端口。 我看到它的方式有两种select: 在路由器上设置端口转发,将端口585或993上的任何IMAP请求转发给服务器; 服务器可以validation用户。 将反向代理IMAP服务器连接到路由器的DMZ; 这反过来可以将IMAP请求转发到内部networking上的服务器(在这种情况下可以selectvalidation用户名)。 有没有人对这两种方法的优点提出任何build议/意见? 我发现很难想象在三脚防火墙的DMZ中增加一个额外的反向代理的好处,因为它无论如何都是有效地进行端口转发的。 …或者我错过了什么?
我正在开发embedded式ARM平台Slackware。 我正在使用configuration为在端口/dev/ttyS1和/dev/ttyACM0之间转发数据的G24 Java调制解调器,因此任何进入这些端口的任何内容都可以在另一端看到。 我想在其中一个端口/dev/ttyS1上设置terminal,并将另一个端口/dev/ACM0到TCP端口,以便通过LAN从其他机器访问。 首先,我configuration了/etc/inittab : s2:12345:respawn:/sbin/agetty -L ttyS1 115200 vt100 然后我试着用下面的命令使用socat: socat -d -d -d TCP-l:2020,reuseaddr,fork /dev/ttyACM0,raw,nonblock,waitlock="/var/run/ttyACM0.lock",b115200,echo=1,icanon=1,crnl 然后我试图从其他机器连接telnet 192.168.1.222 2020 ,结果不是很好,我从客户端看到terminal要求login,但是有一个直接的答案,我没有input在: ^M^M^M …等等,terminal回答login不正确,然后一次又一次地是一回事。 我知道^M表示回车符号,但我不太清楚如何解决这个问题。 我尝试了不同的socatconfiguration,但是没有一个能够正确工作。
这是我的场景。 我有三个主机。 1)运行OpenVPN服务器的GATEWAY。 它有1个LAN IP(192.168.1.10)和1个OpenVPN IP(10.8.0.1)。 2)LOCAL-CLIENT,与GATEWAY在同一局域网内的一台机器,有一个局域网IP(192.168.1.12) 3)REMOTE-SERVER,一个作为OpenVPN服务器客户端的MySQL服务器。 它有1个公共IP和1个OpenVPN IP(10.8.0.51)。 我希望能够通过VPN从LOCAL-CLIENT连接到远程服务器上的MySQL。 到目前为止,我已经启用了IP转发,并添加了像这样的端口: echo "1" > /proc/sys/net/ipv4/ip_forward iptables -t nat -A OUTPUT -p tcp –dport 3306 -j DNAT –to 10.8.0.51 这从GATEWAY的作品,我可以连接到MySQL使用192.168.1.10作为主机。 但是,当我从本地客户端尝试时,我得到一个“连接被拒绝”错误(使用MySQL客户端或telnet端口3306)。 我在这里错过了什么? 顺便说一句,我也试着转发HTTP端口来testing运行在REMOTE-SERVER上的Apache,我也得到了相同的结果,所以这不是MySQL的问题。 更多信息: Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 10.8.0.0 […]
如何将端口80内部端口转发到端口8080? 我的目标是在端口8080上运行Web应用服务器(Glassfish),但是外部世界通常在80端口上访问它。这样做是为了不必以root身份运行Glassfish。 我试着将下面的规则添加到我的/ etc / sysconfig / iptables中: -A PREROUTING -t nat -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 8080 但是这会导致以下错误: Applying iptables firewall rules: iptables-restore v1.3.5: Line 21 seems to have a -t table option.
我正在寻找一种方法来通过LAN在Linux机器上使用远程串行端口。 该机运行Ubuntu 10.04,我有一个Arduino板连接到它,我想能够重新编程或通过局域网串口输出听/谈话。 如果客户端软件是独立平台,但只有Linux客户端也可以。 谢谢! 更新: 有一些类似于Windows的程序: http : //www.hw-group.com/products/hw_vsp/index_en.html http://www.serial-port-communication.com/serial-over-tcpip/(this似乎有一个Linux版本,但它不是开源的…) 最后实际上维基百科有一些有用的注释和引用: http : //en.wikipedia.org/wiki/COM_port_redirector UPDATE2:最有趣的候选人: http ://lpccomp.bc.ca/remserial/
我有Windows 2008服务器。 它作为一个邮件,FTP,Web服务器。 在我的局域网中有其他的服务器,我想从我的局域网外部的RDC到达这个服务器(例如:domail.com:5555 – > 192.168.0.2:3389)。 有没有任何解决办法转发这个端口使用Windows防火墙?