В поисках правды перерыл весь интернет и посему попробую узнать еще тут. Проблема следующая, перевел интернет с роутера на сервер, устал от проблем с роутером... (DLink DIR-655 (A3)). Как известно МакОС тот же БСД только с боку и рюшечками, там так-же есть natd. Стандартной службой нат, с минимальными шаманствами удалось поднять нат для связки LAN<->INET, а связка LAN <-> WAN работает только на сервере, пользователи локалки не видят WAN

Шаманство 1: (правка natd.plist )
Код: Выделить всё
bash-3.2# cat /etc/nat/natd.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>alias_address</key>
<string>INTERNET IP</string>
<key>clamp_mss</key>
<true/>
<key>deny_incoming</key>
<false/>
<key>dynamic</key>
<true/>
<key>enable_natportmap</key>
<true/>
<key>interface</key>
<string>ppp0</string> <!-- PPTP (INTERNET) -->
<key>log</key>
<true/>
<key>log_denied</key>
<false/>
<key>natportmap_interface</key>
<string>en1</string> <!-- LAN -->
<key>proxy_only</key>
<false/>
<key>reverse</key>
<false/>
<key>same_ports</key>
<true/>
<key>unregistered_only</key>
<true/>
<key>use_sockets</key>
<true/>
</dict>
</plist>
Код: Выделить всё
bash-3.2# ps ax | grep natd
2553 ?? Ss 5:06.12 /usr/sbin/natd -f /etc/nat/natd.conf.apple
Код: Выделить всё
bash-3.2# cat /etc/nat/natd.conf.apple
# This file is reserved for configuration automatically generated by the Server Admin app.
# Generated: 2010-08-20 19:59:13 +0700.
#
interface ppp0
natportmap_interface en1
enable_natportmap yes
alias_address INTERNET IP
dynamic yes
log yes
log_denied no
deny_incoming no
use_sockets yes
same_ports yes
unregistered_only yes
reverse no
proxy_only no
clamp_mss yes
и сервис прописывает еще и правило ната в ipfw:
Код: Выделить всё
00010 1061451 679293915 divert 8668 ip from any to any via ppp0
запущен натпортмап
Шаманство 2: (добавляем второй нат для WAN, для этого редактируем копию natd.conf.apple)
Доброе время суток, товарищи.
В поисках правды перерыл весь интернет и посему попробую узнать еще тут. Проблема следующая, перевел интернет с роутера на сервер, устал от проблем с роутером... (DLink DIR-655 (A3)). Как известно МакОС тот же БСД только с боку и рюшечками, там так-же есть natd. Стандартной службой нат, с минимальными шаманствами удалось поднять нат для связки LAN<->INET, а связка LAN <-> WAN работает только на сервере, пользователи локалки не видят WAN

Шаманство 1: (правка natd.plist )
Код: Выделить всё
bash-3.2# cat /etc/nat/natd.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>alias_address</key>
<string>INTERNET IP</string>
<key>clamp_mss</key>
<true/>
<key>deny_incoming</key>
<false/>
<key>dynamic</key>
<true/>
<key>enable_natportmap</key>
<true/>
<key>interface</key>
<string>ppp0</string> <!-- PPTP (INTERNET) -->
<key>log</key>
<true/>
<key>log_denied</key>
<false/>
<key>natportmap_interface</key>
<string>en1</string> <!-- LAN -->
<key>proxy_only</key>
<false/>
<key>reverse</key>
<false/>
<key>same_ports</key>
<true/>
<key>unregistered_only</key>
<true/>
<key>use_sockets</key>
<true/>
</dict>
</plist>
Код: Выделить всё
bash-3.2# ps ax | grep natd
2553 ?? Ss 5:06.12 /usr/sbin/natd -f /etc/nat/natd.conf.apple
Код: Выделить всё
bash-3.2# cat /etc/nat/natd.conf.apple
# This file is reserved for configuration automatically generated by the Server Admin app.
# Generated: 2010-08-20 19:59:13 +0700.
#
interface ppp0
natportmap_interface en1
enable_natportmap yes
alias_address INTERNET IP
dynamic yes
log yes
log_denied no
deny_incoming no
use_sockets yes
same_ports yes
unregistered_only yes
reverse no
proxy_only no
clamp_mss yes
и сервис прописывает еще и правило ната в ipfw:
Код: Выделить всё
00010 1061451 679293915 divert 8668 ip from any to any via ppp0
запущен натпортмап
Шаманство 2: (добавляем второй нат для WAN, для этого редактируем копию natd.conf.apple)
Код: Выделить всё
bash-3.2# cat /etc/nat/natd.conf.beeline
# This file is reserved for configuration automatically generated by the Server Admin app.
# Generated: 2010-08-20 18:02:10 +0700.
#
interface en0
natportmap_interface en1
enable_natportmap yes
alias_address WAN
dynamic yes
log yes
log_denied yes
deny_incoming no
use_sockets yes
same_ports yes
unregistered_only yes
reverse no
proxy_only no
clamp_mss yes
Код: Выделить всё
bash-3.2# cat route_beeline.sh
#!/bin/sh
natd -n en0 -p 8669 -f /etc/nat/natd.conf.beeline
ipfw add 11 divert 8669 ip from any to any via en0
route add 10.0.0.0/8 beeWanGW
Код: Выделить всё
Binding to NATPM port failed!