平常Iptables 端口转发linux
结构图:vim
2.解决方法:经过linux 服务器的iptables,利用端口转发,在公司内部经过A机器(或者说A表明某个部门),使其访问到B机器上的特定链接转发至内部机器C上。因为机房服务器只开放了特定端口,因此,利用B机器的9090端口和80端口分别转发到内部机器C上的22端口和80端口。服务器
修改防火墙以前,须要先修改系统内核,开启ipv4转发功能:vim /etc/sysconfig,修改如下值 ipv4_net_forward = 1 ,以后运行 sysctl -p 命令生效。网络
先备份一下防火墙的配置文件,以后编辑防火墙:vim /etc/sysconfig/iptables,追加如下规则(作转发的四条规则必须写在nat表中):ssh
*nat :PREROUTING ACCEPT [888442:52703267] :POSTROUTING ACCEPT [712676:42810839] :OUTPUT ACCEPT [712676:42810839] -A PREROUTING -s 223.1.1.2 -d 101.1.1.3 -p tcp -m tcp --dport 9090 -j DNAT --to-destination 10.8.88.88:22 -A POSTROUTING -d 10.8.88.88 -p tcp -m tcp --dport 22 -j SNAT --to-source 10.8.88.77 -A PREROUTING -s 223.1.1.2 -d 101.1.1.3 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.8.88.88:80 -A POSTROUTING -d 10.8.88.88 -p tcp -m tcp --dport 80 -j SNAT --to-source 10.8.88.77
注:PREROUTING 来自223.1.1.2 且目标是 101.1.1.3:9090端口的连接转发到 10.8.88.88:22端口上tcp
注:POSTROUTING 回路的包,全部从内部机器C的22端口返回的包转发到B机器上的eth1网卡上测试
同上:网站
*filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -s 223.1.1.2 -p tcp -m tcp --dport 9090 -j ACCEPT -A INPUT -s 223.1.1.2 -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited
3.修改完成后,保存配置。重启iptables服务,如今能够测试一下。spa