linux外网服务器跳转内网服务器实现内网访问(iptables)

服务器信息如下

外网服务器:eth0:公网IP

                        eth1:内网IP(192.168.10.205)

公网对外提供服务,内网IP与内部局域网通信。

配置过程

(1)开启iptables

          service iptables restart   (临时开启)

          chkconfig  iptables on    (永久开启)

(2)配置iptables

         (2-1)配置filter选项,使得IP和PORT可以通过防火墙

           注意:在filter选项下配置

           例如:#18081(tomcat-OA)
                      -A INPUT -p tcp --dport 18081 -j ACCEPT
                      -A OUTPUT -p tcp --sport 18081 -j ACCEPT

          (2-2)配置nat转发规则选项

    注意:在nat选项下配置

            例如:配置通过访问http://公网IP:18081/tomcat-oa访问内网地址http://192.168.11.102:8080/tomcat-oa,其中192.168.11.102为内网服务器ip.

                        #映射到192.168.11.102:8080OA系统
        -A PREROUTING -d  公网ip   -p tcp --dport 18081 -j DNAT --to-destination 192.168.11.102:8080
-A POSTROUTING -d 192.168.11.102 -p tcp --dport 8080 -j SNAT --to-source 192.168.10.205

(3)重启iptables

         service iptables restart


(4)解决转接慢问题

         如果在访问过程中很慢,可通过添加下面配置提高访问速度:

         在filter中:

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

      在nat中:

-A PREROUTING -m state --state ESTABLISHED,RELATED -j ACCEPT
-A POSTROUTING -m state --state ESTABLISHED,RELATED -j ACCEP



机器配置文件参考:

# Generated by iptables-save v1.4.7 on Mon Mar 16 16:47:11 2015

*nat
:PREROUTING ACCEPT [10362:870907]
:POSTROUTING ACCEPT [565:39849]
:OUTPUT ACCEPT [565:39849]


-A PREROUTING -m state --state ESTABLISHED,RELATED -j ACCEPT
-A POSTROUTING -m state --state ESTABLISHED,RELATED -j ACCEPT
#映射到192.168.11.102:8080OA系统
-A PREROUTING -d  公网ip   -p tcp --dport 18081 -j DNAT --to-destination 192.168.11.102:8080
-A POSTROUTING -d 192.168.11.102 -p tcp --dport 8080 -j SNAT --to-source 192.168.10.205


########################################################################
###########################google代理映射#########################
########################################################################

#映射到192.168.11.173:3128  squid系统
-A PREROUTING -d 公网ip -p tcp --dport 18088 -j DNAT --to-destination 192.168.11.173:3128
-A POSTROUTING -d 192.168.11.173 -p tcp --dport 3128 -j SNAT --to-source 192.168.10.205
#映射到192.168.11.221:3128  squid服务
-A PREROUTING -d 公网ip  -p tcp --dport 18089 -j DNAT --to-destination 192.168.11.221:3128
-A POSTROUTING -d 192.168.11.221 -p tcp --dport 3128 -j SNAT --to-source 192.168.10.205
########################################################################
######################google代理映射--end#########################
########################################################################

COMMIT



*mangle
:PREROUTING ACCEPT [314675:32786858]
:INPUT ACCEPT [273424:29440191]
:FORWARD ACCEPT [60:2784]
:OUTPUT ACCEPT [195215:274041247]
:POSTROUTING ACCEPT [195404:274048359]
-A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT


*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#解决网络连接慢的问题
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#回环访问
-A INPUT -i lo -p all -j ACCEPT
-A OUTPUT -o lo -p all -j ACCEPT
#ping规则
-A INPUT -p icmp -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
#ssh
-A INPUT -p tcp --dport 22 -j ACCEPT
-A OUTPUT -p tcp --sport 22 -j ACCEPT
#80
-A INPUT -p tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp --sport 22 -j ACCEPT
#8080
-A INPUT -p tcp --dport 8080 -j ACCEPT
-A OUTPUT -p tcp --sport 8080 -j ACCEPT
#8081
-A INPUT -p tcp --dport 8081 -j ACCEPT
-A OUTPUT -p tcp --sport 8081 -j ACCEPT
#3306
-A INPUT -p tcp --dport 3306 -j ACCEPT
-A OUTPUT -p tcp --sport 3306 -j ACCEPT
#18080(tomcat-yy)
-A INPUT -p tcp --dport 18080 -j ACCEPT
-A OUTPUT -p tcp --sport 18080 -j ACCEPT
#3690(svn)
-A INPUT -p tcp --dport 3690 -j ACCEPT
-A OUTPUT -p tcp --sport 3690 -j ACCEPT
#18081(tomcat-OA)
-A INPUT -p tcp --dport 18081 -j ACCEPT
-A OUTPUT -p tcp --sport 18081 -j ACCEPT
#18082(tomcat-数据发布平台)
-A INPUT -p tcp --dport 18082 -j ACCEPT
-A OUTPUT -p tcp --sport 18082 -j ACCEPT
#3128(squid)
-A INPUT -p tcp --dport 3128 -j ACCEPT
-A OUTPUT -p tcp --sport 3128 -j ACCEPT
#28081(tomcat-proxy)
-A INPUT -p tcp --dport 28080 -j ACCEPT
-A OUTPUT -p tcp --sport 28080 -j ACCEPT
#18088(squid_proxy)
-A INPUT -p tcp --dport 18088 -j ACCEPT
-A OUTPUT -p tcp --sport 18088 -j ACCEPT
#18089(squid_proxy)
-A INPUT -p tcp --dport 18089 -j ACCEPT
-A OUTPUT -p tcp --sport 18089 -j ACCEPT
COMMIT
# Completed on Mon Mar 16 16:47:11 2015

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。