现在的位置: 首页 > 综合 > 正文

AIX上指定IP通过防火墙外联访问

2013年09月06日 ⁄ 综合 ⁄ 共 6343字 ⁄ 字号 评论关闭

提要:

    IP通信路径是依据路由表定义的远程IP、网卡、路由设备等要素构建的,其中同网段多个IP的通信路径都使用同一条路由。值得关注的是,多数的应用程序,除监听等待可指定IP绑定端口外,对外访问一般是不指定IP,其对外通信的发起IP,都是依据路由定义的网卡及所在IP。

    由于防火墙只允许特定IP对外访问,同网段多IP的综合应用系统,可能存在因路由定义的IP被防火墙拒绝而导致访问失败。本文重点介绍了同网段IP如何通过定义静态路由,来指定IP来与防火墙进行外联通信的方法,以下分两种情况进行分析。

 

一、同网段多IP分别定义在不同网卡

第一种情况是,在同网段多IP的服务器,创建Default路由时若未指定网卡,路由是绑定在设备号最小的en0(IP为115.6.61.12,如图1),如提要所述,多数应用都未指定对外通信IP,对外访问默认都是通过路由定义的en0 IP发起。因防火墙安全规划及NAT地址转换的技术限制,防火墙只允许应用通过en2 IP(115.6.61.14)发起通信,这时我们可通过手工增加一条静态路由,指定通过防火墙的对外访问均从en2 IP发起。

分析和测试

1、网络基本信息

AIXtest02-root:/>ifconfig -a

en0: flags=4e080863,80<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,PSEG,CHAIN>

        inet 115.6.61.12 netmask 0xffffff00 broadcast 115.6.61.255

en1: flags=4e080863,80<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,PSEG,CHAIN>

        inet 115.6.61.13 netmask 0xffffff00 broadcast 115.6.61.255

en2: flags=4e080863,80<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,PSEG,CHAIN>

        inet 115.6.61.14 netmask 0xffffff00 broadcast 115.6.61.255

lo0: flags=e08084b<UP,BROADCAST,LOOPBACK,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT>

        inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255

        inet6 ::1/0

         tcp_sendspace 65536 tcp_recvspace 65536

AIXtest02-root:/>netstat -rn

Routing tables

Destination      Gateway           Flags   Refs     Use  If   PMTU Exp Groups

default          115.6.61.254      UGc       0        0  en0     -   -      -

115.4.15.90      115.6.61.254      UGHW      1       20  en0  1500   -      -

115.6.61.0       115.6.61.12       UHSb      0        0  en0     -   -      -   =>

115.6.61.0       115.6.61.14       UHSb      0        0  en2     -   -      -   =>

115.6.61.0       115.6.61.13       UHSb      0        0  en1     -   -      -   =>

115.6.61/24      115.6.61.12       U         1      122  en0     -   -      -   =>

115.6.61/24      115.6.61.14       U         0        0  en2     -   -      -   =>

115.6.61/24      115.6.61.13       U         2       18  en1     -   -      -

115.6.61.12      127.0.0.1         UGHS      0        9  lo0     -   -      -

115.6.61.13      127.0.0.1         UGHS      0     1711  lo0     -   -      -

115.6.61.14      127.0.0.1         UGHS      0        0  lo0     -   -      -

115.6.61.255     115.6.61.12       UHSb      0        0  en0     -   -      -   =>

115.6.61.255     115.6.61.14       UHSb      0        0  en2     -   -      -   =>

115.6.61.255     115.6.61.13       UHSb      0        0  en1     -   -      -

 

2、通信发起IP测试

通信路径分析命令traceroute可看到通信发起IP从路由测试结果可看出通信是由default路由定义的IP发起这无法满足防火墙需求。

AIXtest02-root:/>traceroute 115.2.18.121

trying to get source for 115.2.18.121

source should be 115.6.61.12

traceroute to 115.2.18.121 (115.2.18.121) from 115.6.61.12 (115.6.61.12), 30 hops max

outgoing MTU = 1500

 1  115.6.61.254 (115.6.61.254)  2 ms  1 ms  1 ms

 2  115.3.196.33 (115.3.196.33)  1 ms  1 ms  1 ms

。。。(略)

 

3、手工增加静态路由,强行指定与115.2.18.121通信路径由en2 IP(115.6.61.14)发起。

1增加路由

test-root:/>route add -host 115.2.18.121 115.6.61.14

115.6.61.14 host 115.2.18.121: gateway 115.6.61.14

test-root:/>netstat -rn

Routing tables

Destination      Gateway           Flags   Refs     Use  If   PMTU Exp Groups

default          115.6.61.254      UGc       0        0  en0     -   -      -

115.2.18.121     115.6.61.14        UGH       0        0  en2     -   -      -     新增的路由

2通信路径测试成功

AIXtest02-root:/>traceroute 115.2.18.121

trying to get source for 115.2.18.121

source should be 115.6.61.12

traceroute to 115.2.18.121 (115.2.18.121) from 115.6.61.14 (115.6.61.14), 30 hops max

outgoing MTU = 1500

 1  115.6.61.254 (115.6.61.254)  2 ms  1 ms  1 ms

 2  115.3.196.33 (115.3.196.33)  1 ms  1 ms  1 ms

。。。(略)

 

二、同网卡同网段IP的静态路由

    AIX系统允许一张网卡定义多个IP,那第二种情况就是,一张网卡定义了2个同网段IP(一个是本地IP,另一个是别名IP),如提要所述,多数应用都不会指定对外通信IP,AIX默认只会使用本地IP。当防火墙只允许别名IP外联访问,能否好像第一种情况通过设置静态路由,来强制使用别名IP通信?答案是肯定的,但与第一种情况有区别的是,必须激活是否为网卡路由选项为yes,以下是分析和测试结果。

 

分析和测试:

1、网络基本信息

test-root:/>ifconfig -a

en0: flags=4e080863,80<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,PSEG,CHAIN>

        inet 115.6.61.100 netmask 0xffffff00 broadcast 115.6.61.255  本地IP

        inet 115.6.61.8 netmask 0xffffff00 broadcast 115.6.61.255    别名IP

lo0: flags=e08084b<UP,BROADCAST,LOOPBACK,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT>

        inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255

        inet6 ::1/0

         tcp_sendspace 65536 tcp_recvspace 65536

 

test-root:/>netstat -rn

Routing tables

Destination      Gateway           Flags   Refs     Use  If   PMTU Exp Groups

default          115.6.61.254      UGc       0        0  en0     -   -      -

115.4.15.129     115.6.61.254      UGHW      2      722  en0  1500   -      -

115.6.61.0       115.6.61.100      UHSb      0        0  en0     -   -      -   =>

115.6.61/24      115.6.61.100      U         6      981  en0     -   -      -

115.6.61.8       127.0.0.1         UGHS      1      217  lo0     -   -      -

115.6.61.100     127.0.0.1         UGHS     38     1101  lo0     -   -      -

115.6.61.255     115.6.61.100      UHSb      0        4  en0     -   -      -

 

2、从路由测试结果可看出通信路径的解析是由本地IP提交至default路由。

test-root:/>traceroute 115.2.18.121

trying to get source for 115.2.18.121

source should be 115.6.61.100

traceroute to 115.2.18.121 (115.2.18.121) from 115.6.61.100 (115.6.61.100), 30 hops max

outgoing MTU = 1500

 1  115.6.61.254 (115.6.61.254)  3 ms  1 ms  1 ms

 2  115.3.196.33 (115.3.196.33)  1 ms  1 ms  1 ms

 

3、手工增加静态路由,强行指定与115.2.18.121通信路径由本地IP负责解析,但测试失败。

1增加路由

test-root:/>route add -host 115.2.18.121 115.6.61.8

115.6.61.8 host 115.2.18.121: gateway 115.6.61.8

test-root:/>netstat -rn

Routing tables

Destination      Gateway           Flags   Refs     Use  If   PMTU Exp Groups

default          115.6.61.254      UGc       0        0  en0     -   -      -

115.2.18.121     115.6.61.8        UGH       0        0  en0     -   -      -     新增的路由

2验证失败

test-root:/>traceroute 115.2.18.121

trying to get source for 115.2.18.121

source should be 115.6.61.100

traceroute to 115.2.18.121 (115.2.18.121) from 115.6.61.100 (115.6.61.100), 30 hops max

outgoing MTU = 1500

 

3、考虑到别名IP不是路由设备(解决问题的关键),激活是否为网卡路由选项为yes,从路由测试的结果验证了,通信路径的解析已改为别名IP提交至default路由。

1)增加静态路由,并激活网卡路由选项interface

test-root:/>route add -interface -host 115.2.18.121 115.6.61.8

注:interface--Manipulates interface routing entries

test-root:/>netstat -rn

Routing tables

Destination      Gateway           Flags   Refs     Use  If   PMTU Exp Groups

Route Tree for Protocol Family 2 (Internet):

default          115.6.61.254      UGc       0        0  en0     -   -      -

115.2.18.121     115.6.61.8        UH        0        0  en0     -   -      -   新增路由,Flags为“UH”可看出已无路由设备的“G”标志

 

2)通信路径解析改为别名IP提交至default路由

test-root:/>traceroute 115.2.18.121

trying to get source for 115.2.18.121

source should be 115.6.61.8

traceroute to 115.2.18.121 (115.2.18.121) from 115.6.61.8 (115.6.61.8), 30 hops max

outgoing MTU = 1500

 1  115.6.61.254 (115.6.61.254)  3 ms  1 ms  1 ms

 2  115.3.196.41 (115.3.196.41)  1 ms  1 ms  1 ms

 

抱歉!评论已关闭.