给你做了实验:具体的自己慢慢参考吧,如果还配置不出来,不能说什么了。
拓扑如下:
------------------------linux--------------------------------------------内网PC
外(10.0.0.2/30) 内(192.168.10.1/24) (192.168.10.2/24)
地址池(202.102.1.0/24)
linux机器:
ISP分配给的内部全局地址(或者说NAT地址池,或者是LZ说的虚拟IP,反正都一个意思,这里假设202.102.1.1映射到192.168.10.2机器);和ISP互联端的IP为10.0.0.2,对端为10.0.0.1,至于ISP是如何设置的这个LZ无需关心。LINUX的缺省网关为10.0.0.1,开启转发。
内网PC:IP地址为192.168.10.2,缺省网关为192.168.10.1。
此时各机器的关键配置如下:
LINUX:
[root@srv1 ~]# ifconfig
eth1 Link encap:Ethernet HWaddr 00:08:C7:59:79:C5
inet addr:10.0.0.2 Bcast:10.0.0.3 Mask:255.255.255.252
inet6 addr: fe80::208:c7ff:fe59:79c5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:305 errors:0 dropped:0 overruns:0 frame:0
TX packets:301 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:29618 (28.9 KiB) TX bytes:28242 (27.5 KiB)
eth2 Link encap:Ethernet HWaddr 00:08:C7:73:EA:43
inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::208:c7ff:fe73:ea43/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:38 errors:0 dropped:0 overruns:0 frame:0
TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2616 (2.5 KiB) TX bytes:2740 (2.6 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
[root@srv1 ~]# ip route list
10.0.0.0/30 dev eth1 proto kernel scope link src 10.0.0.2
192.168.10.0/24 dev eth2 proto kernel scope link src 192.168.10.1
default via 10.0.0.1 dev eth1
[root@srv1 ~]# iptables-save
# Generated by iptables-save v1.3.5 on Sat Jan 26 11:15:36 2008
*nat
REROUTING ACCEPT [4:336]

OSTROUTING ACCEPT [4:176]

:OUTPUT ACCEPT [0:0]
-A PREROUTING -d 202.102.1.1 -i eth1 -j DNAT --to-destination 192.168.10.2
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
# Completed on Sat Jan 26 11:15:36 2008
内网PC:
[root@srv2 ~]# ifconfig
eth1 Link encap:Ethernet HWaddr 00:40:05:47:23:FB
inet addr:192.168.10.2 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::240:5ff:fe47:23fb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:38 errors:0 dropped:0 overruns:0 frame:0
TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2482 (2.4 KiB) TX bytes:2860 (2.7 KiB)
Interrupt:185 Base address:0xc000
eth2 Link encap:Ethernet HWaddr 00:13:46:95:8B:63
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:193 Base address:0xe000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:336 (336.0 b) TX bytes:336 (336.0 b)
[root@srv2 ~]# ip route list
192.168.10.0/24 dev eth1 proto kernel scope link src 192.168.10.2
default via 192.168.10.1 dev eth1