Извините, что невнятно обозначил задачу... Писал в час ночи когда голова уже не соображала. Попробую еще раз.
Есть роутер на база Fedora Core 3 с тремя сетевыми картами. От провайдера получена подсеть 83.237.68.0/26 со шлюзом на 83.237.68.1 Эта подсеть подключена на eth0 роутера. Вот настройки интерфейса eth0:
[root@router ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
TYPE=Ethernet
DEVICE=eth0
MTU=""
NETMASK=255.255.255.192
BROADCAST=83.237.68.63
IPADDR=83.237.68.8
NETWORK=83.237.68.0
ONBOOT=yesВся эта подсеть с помощью SNAT iptables маршрутизируется на интерфейс eth1.
Вот настройки нитерфейса eth1:
[root@router ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
BOOTPROTO=static
TYPE=Ethernet
DEVICE=eth1
MTU=""
NETMASK=255.255.0.0
BROADCAST=10.0.255.255
IPADDR=10.0.0.1
NETWORK=10.0.0.0
ONBOOT=yes
Вот команда для NATинга:
iptables -t nat -A POSTROUTING -s 10.0.0.0/16 -o eth0 -j SNAT --to-source 83.237.68.8
На роутере есть еще один интерфейс:
[root@router sysconfig]# cat /etc/sysconfig/network-scripts/ifcfg-eth2
BOOTPROTO=static
TYPE=Ethernet
DEVICE=eth2
MTU=""
NETMASK=255.255.255.252
BROADCAST=192.168.0.3
IPADDR=192.168.0.2
NETWORK=192.168.0.0
ONBOOT=yes
К eth2 подключена машина с адресом 192.168.0.1
На рисунке это выглядит таким образом:
------------------------------ 10.0.0.0/16
83.237.69/26 | (10.0.0.1) eth1 o<--------------------->
(gw:83.237.69.1) <------------------->o eth0 (83.237.69.8) | 192.168.0.0/30
| (192.168.0.2) eth2 o<---------------------> (192.168.0.1)
------------------------------
Необходимо, чтобы пакеты из Интернета приходящие на адрес 83.237.68.9 маршрутизировались с интерфейса eth0 на eth2 и приходили на машину с адресом 192.168.0.1 без изменений. Т.е. чтобы в заголовке пакета оставался адрес назначения 83.237.68.9
Не знаю на сколько внятно я описал задачу, но может быть кто-то сможет разобраться и подказать как это сделать.