Как в FreeBSD перебросить соединение через NAT во внутреннюю сеть
Вот реализация для ipfw: if1IP="ип_смотрящий_в_инет", if1="интерфейс_смотрящий_в_инет" ifLIP="ип_на_который хотим делать редирект" ipfw add divert natd tcp from any to ${if1IP} 80 via ${if1} ipfw add divert natd ip from any to ${ifLIP} to any via ${if1} ipfw add allow tcp from any to ${if1IP} 80 via any natd -n ${if1} -redirect_port tcp ${ifLIP}:80 80
Решение от miaso : tproxy -s 80 -r nobody -l /var/log/transparent_proxy.log [int_ip] 80
Как разрешить или запретить выполнение следующих ipfw правил после встречи dummynet pipe
Завершить выполнение цепочки ipfw правил после попадания в pipe: sysctl -w net.inet.ip.fw.one_pass=1 Продолжить выполнение следующих ipfw правил после попадания в pipe: sysctl -w net.inet.ip.fw.one_pass=0
Как правильно зафильтровать ICMP через FreeBSD ipfw
Расшифровка кодов ICMP сообщений: echo reply (0), destination unreachable (3), source quench (4), redirect (5), echo request (8), router adver-tisement (9), router solicitation(10), time-to-live exceeded (11), IP header bad (12), timestamp request (13), timestamp reply (14), information request (15), information reply (16), address mask request (17) and address mask reply (18). ${fwcmd} add 00300 allow icmp from any to внешний_IP in via внешний_интерфейс icmptype 0,3,4,11,12 ${fwcmd} add 00301 allow icmp from внешний_IP to any out via внешний_интерфейс icmptype 3,8,12 ${fwcmd} add 00304 allow icmp from внешний_IP to any out via внешний_интерфейс frag ${fwcmd} add 00305 deny log icmp from any to any in via внешний_интерфейс
Как организовать редирект порта на внутреннюю машину через ipnat в FreeBSD
man 5 ipnat в /etc/ipnat.conf: rdr fxp0 205.15.63.3/32 port 80 -> 192.168.1.1 port 80 tcp # Базансировка нагрузки между 2 IP: rdr le0 203.1.2.3/32 port 80 -> 203.1.2.3,203.1.2.4 port 80 tcp round-robin
Как у ipfilter обнулить статистику без перезагрузки ?
ipf -z -f my_ipfilter_rules_file
Пример ограничения полосы пропускания трафика в FreeBSD
Собираем ядро с опциями: options DUMMYNET options IPFIREWALL Ограничиваем трафик для сеток 1.1.1.0/24 и 3.3.3.0/24 на 14000 кбит/с: ipfw add pipe 50 tcp from any to 1.1.1.0/24 via fxp0 ipfw add pipe 50 tcp from any to 3.3.3.0/24 via fxp0 ipfw pipe 50 config bw 14Kbit/s Для внесения задержки на N ms, используйте delay N после config. Для установки веса данного пайпа по отношению к другим пайпам используйте weight вес. Для WF2Q ограничения трафика используйте ipfw queue (queue N config [pipe pipe_nr] [weight weight] [queue {slots | size}) PS (комментарий от gara@mail.ru): Если возникает необходимость организовать "канал" для каждого пользователя из данной сети то пишем: ipfw pipe 10 config mask dst-ip 0x000000ff bw 1024bit/s queue ipfw add pipe 10 tcp from any to 1.1.1.0/24 via fxp0 Теперь каждый хост из сети 1.1.1.0/24 имеет свой канал 1024bit/s
Можно ли отфильтровывать пакеты (вести лог) в зависимости от UID пользователя ?
Для FreeBSD: ipfw add count tcp from any to not 192.168.1.0/24 uid 231 uid user (или gid group) - под правило попадают все TCP или UDP пакеты посланный или принятые пользователем user (группой group). В Linux в ядрах 2.4.x в iptables можно использовать модуль owner.
Как запретить открывать более 30 соединений с одного IP
Запретим более 30 коннектов для 80 порта сервера 1.2.3.4. ipfw add allow tcp from any to 1.2.3.4 80 limit src-addr 30 ipfw add allow tcp from any to 1.2.3.4 80 via fxp0 setup limit src-addr 10 Вместо src-addr можно использовать src-port, dst-addr, dst-port Конструкция работает в последних версиях FreeBSD 4.x ветки.
Как обеспечить работу active FTP режима в FreeBSD NAT
В ipnat воспользуйтесь модулем ftp proxy: map fxp0 0/0 -> 0/32 proxy port ftp ftp/tcp map rl0 172.16.33.0/24 -> 212.46.231.50/32 proxy port ftp ftp/tcp не забудьте поместить правило трансляции ftp перед общим правилом трансляции, порядок следования правил важен.
Как запустить трансляцию адресов (NAT) под FreeBSD
В /etc/rc.conf: ipnat_enable="YES" В /etc/ipnat.rules: map ppp0 172.16.1.0/24 -> 194.46.124.53/32 Перечитать: ipnat -CF -f /etc/ipnat.rules
Как организовать Policy Routing на FreeBSD
ipfw add 100 fwd 10.0.0.2 ip from 10.0.2.0/24 to any
Если нужно использовать 2 шлюза, то можно воспользоваться: ipfw add fwd $ext_gw_ip ip from $ext_net to any out xmit $ext_int
Автоматическая нумерация правил ipfw в FreeBSD
Для автоматической нумерации правил ipfw мы применяем следующий несложный прием: $C=300 # начальное значение $STEP=100 # Шаг увеличения ipfw add $C $(C=$(($C+$STEP))) allow ip from 10.128.0.0/16 to 10.128.0.0/16 ipfw add $C $(C=$(($C+$STEP))) allow ip from 195.131.31.0/24 to 195.131.31.0/24
А у меня такая ситуация: Я открыл порты на ipfw и через nat пробросил порты redirect_port tcp ip_пк_внутри_сети:26180 26180 redirect_port udp ip_пк_внутри_сети:26181 26181 Но попасть в p2p сеть не смог, хотя в клиенте прописал эти порты. Возможно ли не конкретизировать в правилах nat'а tcp или udp я буду использовать?
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]