2012-04-25 3 views
0

у меня есть две системы A и B. А является TCP Client и посылает сообщение для TCP сервера на B.Как сформулировать правило IP пересылки с помощью IPTables

------------------    -------------------------- 

    System A      System B 
    192.168.0.5 wlan0    192.168.0.3 wlan0 
    127.0.0.1 lo     127.0.0.1 lo 
    TCP Client <------------> TCP Server on 127.0.0.1 
------------------    ---------------------------- 

Клиент TCP отправляет сообщение 192.168.0.3 ,

Это должно быть перенаправлены на локальный интерфейс B, как TCP сервер работает на 127.0.0.1 на порт 8000 Системы Б.

Поэтому я написал следующие правила IP таблицы, однако мой сервер на B не получает сообщений. Кстати, эти две системы - это Linux-системы Ubuntu.

Вот что я сделал на системе B:

#Enable IP Forwarding for NAT 
echo "1" < /proc/sys/net/ipv4/ip_forward 

#Flush all iptable chains and start afresh 
sudo iptables -F 

#Forward incoming packets on 192.168.0.3 at wlan0 interface to 127.0.0.1 
sudo iptables -t nat -A PREROUTING -p tcp -i wlan0 -d 192.168.0.3 --dport 8000 -j DNAT --to 127.0.0.1:8000 

#Explicitly allow incoming connections on port 8000 
sudo iptables -A INPUT -i wlan0 -p tcp --dport 8000 -m state --state NEW,ESTABLISHED -j ACCEPT 

#Explicitly allow outgoing messages from port 8000 
sudo iptables -A OUTPUT -o wlan0 -p tcp --sport 8000 -m state --state ESTABLISHED -j ACCEPT 

Затем я запустить сервер на B и отправить сообщение от клиента TCP на A. Я могу увидеть пакеты на Wireshark от 192.168.0.5 на wlan0 но они никогда не получают перенаправлены :(

Пожалуйста, помогите

ответ

1

Это должно быть ">" вместо "<":.

echo "1" > /proc/sys/net/ipv4/ip_forward 
Смежные вопросы