Таблица маршрутизации Ubuntu с 3 сетевыми картами

Я хочу настроить Ubuntu 12.04 в качестве маршрутизатора. Этот Ubuntu ПК имеет 3 сетевые карты

eth0:192.168.1.203 (LAN1)
eth1:172.16.30.21 (Internet)
eth2:10.216.1.107 (LAN2)

и

$ route -n

Kernel IP routing table
Destination     Gateway         Genmask         Indic Metric   Ref  Use Iface
0.0.0.0         172.16.30.1     0.0.0.0         UG    0        0    0   eth1
10.216.1.0      10.216.1.1      255.255.255.0   UG    0        0    0   eth2
10.216.1.0      0.0.0.0         255.255.255.0   U     1        0    0   eth2
169.254.0.0     0.0.0.0         255.255.0.0     U     1000     0    0   eth2
172.16.30.0     0.0.0.0         255.255.255.0   U     1        0    0   eth1
192.168.0.0     192.168.1.3     255.255.0.0     UG    0        0    0   eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     1        0    0   eth0

Если я настрою другой ПК с Windows (ПК1) следующим образом:

ip:192.168.1.29
mask:255.255.255.0
gw:192.168.1.203

С этого ПК (ПК1), я подключен к Интернету и могу пинговать все IP-адреса в этом диапазоне 192.168.0.0/16 и этот IP 10.216.1.107.но я не могу пинговать другие IP-адреса в этом диапазоне 10.216.1.0/24 (я могу пинговать этот диапазон от Ubuntu PC).

Моя проблема заключается в том, как изменить таблицу маршрутов, чтобы обеспечить соединение между ПК1 и всеми ПК в диапазоне 10.216.1.0/24

5
задан 9 June 2013 в 19:18

1 ответ

Компьютеры в сети 10.216.1.0/24 не знают маршрут к сети 192.168.1.0/24, поэтому они не могут общаться. Вы должны установить статический маршрут в router2, перенаправляя 192.168.1.0/24 на 10.216.1.107.

В качестве альтернативы вы можете маскировать сеть 192.168.1.0/24 за IP-адресом eth2, используя iptables:

iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE

Для пакетов, выходящих из eth2, IP-адрес источника будет изменен на 10.216.1.107.

0
ответ дан 9 June 2013 в 19:18

Другие вопросы по тегам:

Похожие вопросы: