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

本文介绍了如何配置Linux外网服务器,通过iptables开启防火墙并设置nat转发规则,实现在公网访问内网服务器的18081端口,将请求映射到内网特定IP的8080端口,以此实现内网服务的外网访问。同时,针对访问速度慢的问题,添加了状态检查规则以提高访问效率。

服务器信息如下

外网服务器: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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值