Здесь проще всего настроить NAT и перенаправить необходимые порты с домашнего интерфейса wlan0 на эквивалентные порты интерфейса внешнего жесткого диска.
Следующий скрипт представляет собой пример, который настроил бы NAT таким образом, чтобы устройства, подключенные к eth0 дома (через коммутатор или TP), получили доступ к беспроводной сети.
#! / Bin / ш INTERNAL_IP = home.lan INTERNAL_NM = 255.255.255.0 INTERNAL = eth0 ВНЕШНЕЕ = wlan0 ifconfig $ INTERNAL $ INTERNAL_IP netmask $ INTERNAL_NM up echo 1> / proc / sys / net / ipv4 / ip_forward iptables -t nat -A POSTROUTING -o $ EXTERNAL -s 192.168.0.0/24 -j MASQUERADE iptables -A FORWARD -i $ ВНЕШНИЙ -o $ ВНУТРЕННИЙ -m состояние \ - СОСТОЯНИЕ СВЯЗАННЫЕ, УСТАНОВЛЕННЫЕ -j ПРИНЯТЬ iptables -A FORWARD -i $ ВНУТРЕННИЙ -o $ ВНЕШНИЙ -j ПРИНЯТЬ
Чтобы описанная ситуация работала, устройства из беспроводной сети должны иметь возможность «оглядываться назад» на сеть NAT (которая скрыта за home.lan). Подход, который вы попробовали в этом вопросе, в основном правильный, за исключением того, что он переводит в неправильном направлении Вы хотите перенаправлять пакеты, поступающие через определенные порты на интерфейсе home.lan, в локальный скрытый IP-адрес NAT для mbl.lan
# (Продолжение) iptables -t nat -A ПРЕДУПРЕЖДЕНИЕ -i $ ВНЕШНИЙ -p tcp --dport 445 -j DNAT \ - до мбл.лан: 445 iptables -t nat -A ПРЕДОХРАНИТЕЛЬНОЕ -i $ ВНЕШНЕЕ -p tcp --dport 139 -j DNAT \ - до мбл.лан: 139
Эта настройка сделает невозможным запуск сервера samba на домашнем хосте, поскольку трафик, поступающий на порты samba по умолчанию, отправляется на внешний жесткий диск. Это не является частью вопроса, но возможное решение состояло бы в том, чтобы запустить службу samba home на другом порту или использовать значение --dport, такое как 4455, и вручную настроить клиентов для подключения к другому порту, когда доступ к моей книге в прямом эфире.
Обратите внимание, что в этом ответе предполагается, что на диске используется samba, и порты нужно будет настроить, если используется другой протокол.
Заметным ограничением этого метода является то, что все соединения, поступающие на внешний диск, будут выглядеть так, как будто они созданы на home.lan.
Сетевые псевдонимы:
mbl.lan (ip адрес моей книги в реальном времени; 192.160.0.66)
home.lan (ip адрес home wlan0; 192.168.0.12)
Ссылки:
http://www.centos.org/docs/4/html/rhel-sg-en-4/s1-firewall-ipt-fwd.html
http://www.netfilter.org/documentation/HOWTO// NAT-HOWTO-6.html # ss6.2