Страница 1 из 1

Злополучная YOTA

Добавлено: 2012-03-21 20:54:29
iru
задача нумбер ван - организовать нат через yota

#cat /etc/rc.conf

Код: Выделить всё

router_enable="YES"
gateway_enable="YES"
firewall_enable="YES"
firewall_script="/etc/rc.firewall"

natd_enable="YES"
natd_flags="-f /etc/natd.conf"
lvwimax_mac_address="YOTA_MAC_ADRESS"
lvwimax_enable="YES"

cat /etc/natd.conf

Код: Выделить всё

#use_sockets
alias_address YOTA_IP
#interface ste0
#same_ports
#unregistered_only
# cat /etc/rc.firewall

Код: Выделить всё

#!/bin/sh

/sbin/sysctl net.inet.ip.fw.autoinc_step=10
ipfw='/sbin/ipfw -q'

${ipfw} -f flush

ip_nat="YOTA_IP"
if_nat="tap0"
natd="8668"


## NAT TABLE
${ipfw} table 1 flush
${ipfw} table 1 add 192.168.0.0/24

${ipfw} add allow ip from any to any via lo0
${ipfw} add divert ${natd} all from "table(1)" to any via ${if_nat}
${ipfw} add divert ${natd} all from any to ${ip_nat} in
sysctl net.inet.ip.forwarding: 1

что получаем:
из сети 192.168.0.0 пингуеться всея интернет (весь целиком и полностью)
а открывается только Яндекс.

косяк нумбер у роутера в конфигах нет шлбза по умолчанию, его добавляем ручками после установления соединения
route add default YOTA_IP - да да тот самы который прилетел к нам по DHCP на интерфейс.

Re: Злополучная YOTA

Добавлено: 2012-03-22 11:27:47
sergoff
с этой точки зрения pf имхо проще). вплоть до отсутствия необходимости пересобирать ядро.
/etc/rc.conf

Код: Выделить всё

 
gateway_enable="YES"
pf_enable="YES"
pf_rules="/etc/pf.rules" 
/etc/pf.rules

Код: Выделить всё

#новый конфиг без wifi
#Базовые настройки - макросы
if_ext = "tun0" # 3g modem
if_intr = "alc0" # сетевая



net_intr = "172.16.0.1/24"

icmp_types="echoreq"

#глобальные настройки
set block-policy drop
set state-policy if-bound
#set skip on lo0

scrub all reassemble tcp fragment reassemble

#НАТ для локальной сети в интернет при вкл модеме 
#nat pass on $if_ext from $net_int -> ($if_ext) static-port
#
#запрещаем весь лишний траффик 
block drop all

# разрешаем все на loopback интерфейсе
pass quick on lo all
#
#доступ изintranet в интернет при подключенном модеме
#разрешаем исходящий в интернет
pass out quick on $if_ext inet proto tcp from ($if_ext) to $if_intr flags S/SA keep state
pass out quick on $if_ext inet proto {udp, icmp} from ($if_ext) to $if_intr keep state
pass out quick on $if_intr from $if_intr to any

#РАзрешить любой траффик со стороны локалки
pass in quick on $if_intr from $if_intr to any keep state
pass out quick on $if_intr from $if_intr to any keep state 
минимальная настройка - вроде пока везде работала где настраивал