ipfw+DMZ
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2007-03-05 9:03:30
ipfw+DMZ
1. Задача заключается в организации ДМЗ, вынос туда серверов www, mail, dns, game и т.п. сервисов.
з.ы. До этого все стояло на одной машинке, решили организовать Home Ethernet и началось...
2. Чего то до меня не доходит с правилами ipfw (опыта работы с фрюхой - три месяца).
на фаере - стоит три сетевые:
- локалка
- на дмз
- мир
из локалки все ходят (но пока ДНС-прова)
фаер не пропускает запросы в дмз на ДНС-сервер...((
Если что то нада, выложу, или лучше в аську..437-705-386
з.ы. До этого все стояло на одной машинке, решили организовать Home Ethernet и началось...
2. Чего то до меня не доходит с правилами ipfw (опыта работы с фрюхой - три месяца).
на фаере - стоит три сетевые:
- локалка
- на дмз
- мир
из локалки все ходят (но пока ДНС-прова)
фаер не пропускает запросы в дмз на ДНС-сервер...((
Если что то нада, выложу, или лучше в аську..437-705-386
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- Alex Keda
- стреляли...
- Сообщения: 35426
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2007-03-05 9:03:30
rc.conf:
defaultrouter="10.0.0.1"
gateway_enable="YES"
hostname="gw.domen.kz"
linux_enable="YES"
syslogd_enable="YES"
syslogd_flags="-ss"
racoon_enable="YES"
mrtg_daemon_enable="YES"
ifconfig_fxp0="inet 10.0.0.2 netmask 255.255.255.128"
ifconfig_fxp1="inet 10.0.0.3 netmask 255.255.255.128"
ifconfig_rl0="inet 192.168.0.1 netmask 255.255.192.0"
natd_enable="YES"
natd_flags="-f /etc/natd.conf"
firewall_enable="YES"
firewall_script="/etc/rc.fw"
portmap_enable="NO"
inetd_enable="NO"
kern_securelevel_enable="NO"
nfs_reserved_port_only="YES"
sendmail_enable="NONE"
sshd_enable="YES"
icmp_drop_redirect="YES"
icmp_log_redirect="YES"
clear_tmp_enable="YES"
icmp_bmcastecho="NO"
tcp_drop_synfin="YES"
log_in_vain="YES"
update_motd="NO"
natd.conf:
#interface for NATD
interface fxp0
same_ports
use_sockets
unregistered_only
собствено сами правила (айпишники, ес-но вымышленные):
fwcmd="/sbin/ipfw -q"
${fwcmd} -f flush
# set these to your outside interface network and netmask and ip
oif="fxp0"
onet0="10.0.0.0"
omask0="255.255.255.128"
oip0="10.0.0.2"
oipcs0="10.0.0.1"
oip1="10.0.0.3"
# DNS
dns_ip1="10.0.0.4" (мастер)
dns_ip2="10.0.0.5" (славе еще не запустил)
# set these to your inside interface network and netmask and ip
iif="rl0"
inet="192.168.0.0"
imask="255.255.192.0"
iip="192.168.0.1"
setup_loopback
${fwcmd} add 100 pass all from any to any via lo0
${fwcmd} add 200 deny all from any to 127.0.0.0/8
${fwcmd} add 300 deny all from 127.0.0.0/8 to any
# Stop spoofing
${fwcmd} add deny all from ${inet}:${imask} to any in via ${oif}
${fwcmd} add deny all from ${onet0}:${omask0} to any in via ${iif}
# Stop RFC1918 nets on the outside interface
${fwcmd} add deny all from any to 10.0.0.0/8 via ${oif}
${fwcmd} add deny all from any to 172.16.0.0/12 via ${oif}
${fwcmd} add deny all from any to 192.168.0.0/16 via ${oif}
# Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1,
# DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E)
# on the outside interface
${fwcmd} add deny all from any to 0.0.0.0/8 via ${oif}
${fwcmd} add deny all from any to 169.254.0.0/16 via ${oif}
${fwcmd} add deny all from any to 192.0.2.0/24 via ${oif}
${fwcmd} add deny all from any to 224.0.0.0/4 via ${oif}
${fwcmd} add deny all from any to 240.0.0.0/4 via ${oif}
# Network Address Translation. This rule is placed here deliberately
# so that it does not interfere with the surrounding address-checking
# rules. If for example one of your internal LAN machines had its IP
# address set to 192.0.2.1 then an incoming packet for it after being
# translated by natd(8) would match the `deny' rule above. Similarly
# an outgoing packet originated from it before being translated would
# match the `deny' rule below.
${fwcmd} add divert natd all from any to any via ${oif}
# Stop RFC1918 nets on the outside interface
${fwcmd} add deny all from 10.0.0.0/8 to any via ${oif}
${fwcmd} add deny all from 172.16.0.0/12 to any via ${oif}
${fwcmd} add deny all from 192.168.0.0/16 to any via ${oif}
# Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1,
# DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E)
# on the outside interface
${fwcmd} add deny all from 0.0.0.0/8 to any via ${oif}
${fwcmd} add deny all from 169.254.0.0/16 to any via ${oif}
${fwcmd} add deny all from 192.0.2.0/24 to any via ${oif}
${fwcmd} add deny all from 224.0.0.0/4 to any via ${oif}
${fwcmd} add deny all from 240.0.0.0/4 to any via ${oif}
# Local network
${fwcmd} add allow ip from ${inet}:${imask} to any
${fwcmd} add allow ip from any to ${inet}:${imask}
${fwcmd} add pass all from ${onet0}:${omask0} to any via ${oif}
${fwcmd} add pass all from ${oip1} to ${dns_ip}
${fwcmd} add pass all from ${dns_ip} to ${oip1}
# Corporate network
${fwcmd} add pass all from ${inet}:${imask} to ${inet}:${imask} via iif
${fwcmd} add pass all from ${inet}:${imask} to ${inet}:${imask}
# Allow anything outbond from this net
${fwcmd} add allow from ${onet0}:${omask0} to any out via ${oif}
# Allow TCP through if setup succeeded
${fwcmd} add pass tcp from any to any established
${fwcmd} add pass ip from ${oip0} to any out xmit ${oif}
# Allow IP fragments to pass through
${fwcmd} add pass all from any to any frag
# ICMP, 0 - echo reply, 3 - destination unreachable, 4 -
# source quench, 8 - echo request, 11 - ttl exceeded
${fwcmd} add pass icmp from any to any icmptype 0,3,4,8,11
# Allow setup of incoming email
# Allow setup of SSH
${fwcmd} add allow tcp from any to ${oip0} 22,25,53,110 setup in via ${oif}
${fwcmd} add pass tcp from ${oip0} 22,25,53,110 to any
# Allow access to our DNS
${fwcmd} add pass udp from any 53 to any keep-state
${fwcmd} add allow udp from any 53 to any
${fwcmd} add allow udp from any to any 53
# Allow access to our WWW
${fwcmd} add pass tcp from any to ${oip0} 80 setup
# Reject&Log all setup of incoming connections from the outside
${fwcmd} add deny log tcp from any to any in via ${oif} setup
# Allow setup of any other TCP connection
${fwcmd} add pass tcp from any to any setup
# Allow DNS queries out in the world
${fwcmd} add allow udp from any to any 53 keep-state
# Allow NTP queries out in the world
${fwcmd} add pass udp from ${oip0} to any 123 keep-state
# Broadcasts are denied and not logged.
${fwcmd} add deny all from any to 255.255.255.255
# Evrething else is denied and logged.
${fwcmd} add deny log all from any to any
sysctl.conf:
kern.ipc.somaxconn=1024
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.icmp.icmplim=150
net.inet.tcp.log_in_vain=1
net.inet.udp.log_in_vain=1
net.inet.tcp.sack.enable=1
net.inet.ip.redirect=0
net.inet.icmp.drop_redirect=1
net.inet.icmp.bmcastecho=0
net.inet.tcp.mls=7500
defaultrouter="10.0.0.1"
gateway_enable="YES"
hostname="gw.domen.kz"
linux_enable="YES"
syslogd_enable="YES"
syslogd_flags="-ss"
racoon_enable="YES"
mrtg_daemon_enable="YES"
ifconfig_fxp0="inet 10.0.0.2 netmask 255.255.255.128"
ifconfig_fxp1="inet 10.0.0.3 netmask 255.255.255.128"
ifconfig_rl0="inet 192.168.0.1 netmask 255.255.192.0"
natd_enable="YES"
natd_flags="-f /etc/natd.conf"
firewall_enable="YES"
firewall_script="/etc/rc.fw"
portmap_enable="NO"
inetd_enable="NO"
kern_securelevel_enable="NO"
nfs_reserved_port_only="YES"
sendmail_enable="NONE"
sshd_enable="YES"
icmp_drop_redirect="YES"
icmp_log_redirect="YES"
clear_tmp_enable="YES"
icmp_bmcastecho="NO"
tcp_drop_synfin="YES"
log_in_vain="YES"
update_motd="NO"
natd.conf:
#interface for NATD
interface fxp0
same_ports
use_sockets
unregistered_only
собствено сами правила (айпишники, ес-но вымышленные):
fwcmd="/sbin/ipfw -q"
${fwcmd} -f flush
# set these to your outside interface network and netmask and ip
oif="fxp0"
onet0="10.0.0.0"
omask0="255.255.255.128"
oip0="10.0.0.2"
oipcs0="10.0.0.1"
oip1="10.0.0.3"
# DNS
dns_ip1="10.0.0.4" (мастер)
dns_ip2="10.0.0.5" (славе еще не запустил)
# set these to your inside interface network and netmask and ip
iif="rl0"
inet="192.168.0.0"
imask="255.255.192.0"
iip="192.168.0.1"
setup_loopback
${fwcmd} add 100 pass all from any to any via lo0
${fwcmd} add 200 deny all from any to 127.0.0.0/8
${fwcmd} add 300 deny all from 127.0.0.0/8 to any
# Stop spoofing
${fwcmd} add deny all from ${inet}:${imask} to any in via ${oif}
${fwcmd} add deny all from ${onet0}:${omask0} to any in via ${iif}
# Stop RFC1918 nets on the outside interface
${fwcmd} add deny all from any to 10.0.0.0/8 via ${oif}
${fwcmd} add deny all from any to 172.16.0.0/12 via ${oif}
${fwcmd} add deny all from any to 192.168.0.0/16 via ${oif}
# Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1,
# DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E)
# on the outside interface
${fwcmd} add deny all from any to 0.0.0.0/8 via ${oif}
${fwcmd} add deny all from any to 169.254.0.0/16 via ${oif}
${fwcmd} add deny all from any to 192.0.2.0/24 via ${oif}
${fwcmd} add deny all from any to 224.0.0.0/4 via ${oif}
${fwcmd} add deny all from any to 240.0.0.0/4 via ${oif}
# Network Address Translation. This rule is placed here deliberately
# so that it does not interfere with the surrounding address-checking
# rules. If for example one of your internal LAN machines had its IP
# address set to 192.0.2.1 then an incoming packet for it after being
# translated by natd(8) would match the `deny' rule above. Similarly
# an outgoing packet originated from it before being translated would
# match the `deny' rule below.
${fwcmd} add divert natd all from any to any via ${oif}
# Stop RFC1918 nets on the outside interface
${fwcmd} add deny all from 10.0.0.0/8 to any via ${oif}
${fwcmd} add deny all from 172.16.0.0/12 to any via ${oif}
${fwcmd} add deny all from 192.168.0.0/16 to any via ${oif}
# Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1,
# DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E)
# on the outside interface
${fwcmd} add deny all from 0.0.0.0/8 to any via ${oif}
${fwcmd} add deny all from 169.254.0.0/16 to any via ${oif}
${fwcmd} add deny all from 192.0.2.0/24 to any via ${oif}
${fwcmd} add deny all from 224.0.0.0/4 to any via ${oif}
${fwcmd} add deny all from 240.0.0.0/4 to any via ${oif}
# Local network
${fwcmd} add allow ip from ${inet}:${imask} to any
${fwcmd} add allow ip from any to ${inet}:${imask}
${fwcmd} add pass all from ${onet0}:${omask0} to any via ${oif}
${fwcmd} add pass all from ${oip1} to ${dns_ip}
${fwcmd} add pass all from ${dns_ip} to ${oip1}
# Corporate network
${fwcmd} add pass all from ${inet}:${imask} to ${inet}:${imask} via iif
${fwcmd} add pass all from ${inet}:${imask} to ${inet}:${imask}
# Allow anything outbond from this net
${fwcmd} add allow from ${onet0}:${omask0} to any out via ${oif}
# Allow TCP through if setup succeeded
${fwcmd} add pass tcp from any to any established
${fwcmd} add pass ip from ${oip0} to any out xmit ${oif}
# Allow IP fragments to pass through
${fwcmd} add pass all from any to any frag
# ICMP, 0 - echo reply, 3 - destination unreachable, 4 -
# source quench, 8 - echo request, 11 - ttl exceeded
${fwcmd} add pass icmp from any to any icmptype 0,3,4,8,11
# Allow setup of incoming email
# Allow setup of SSH
${fwcmd} add allow tcp from any to ${oip0} 22,25,53,110 setup in via ${oif}
${fwcmd} add pass tcp from ${oip0} 22,25,53,110 to any
# Allow access to our DNS
${fwcmd} add pass udp from any 53 to any keep-state
${fwcmd} add allow udp from any 53 to any
${fwcmd} add allow udp from any to any 53
# Allow access to our WWW
${fwcmd} add pass tcp from any to ${oip0} 80 setup
# Reject&Log all setup of incoming connections from the outside
${fwcmd} add deny log tcp from any to any in via ${oif} setup
# Allow setup of any other TCP connection
${fwcmd} add pass tcp from any to any setup
# Allow DNS queries out in the world
${fwcmd} add allow udp from any to any 53 keep-state
# Allow NTP queries out in the world
${fwcmd} add pass udp from ${oip0} to any 123 keep-state
# Broadcasts are denied and not logged.
${fwcmd} add deny all from any to 255.255.255.255
# Evrething else is denied and logged.
${fwcmd} add deny log all from any to any
sysctl.conf:
kern.ipc.somaxconn=1024
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.icmp.icmplim=150
net.inet.tcp.log_in_vain=1
net.inet.udp.log_in_vain=1
net.inet.tcp.sack.enable=1
net.inet.ip.redirect=0
net.inet.icmp.drop_redirect=1
net.inet.icmp.bmcastecho=0
net.inet.tcp.mls=7500
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Может поможет:
http://www.lissyara.su/?id=1305
И вообще, организовывать DMZ не понимая как работает Firewall не остроумно.
http://www.lissyara.su/?id=1305
И вообще, организовывать DMZ не понимая как работает Firewall не остроумно.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2007-03-05 9:03:30
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Внешних IP сколько? один?GRUV писал(а):2dikens3
Обязательно поднимать мост?
Статью читал, спс. Ipfw man все еще курю... не все сразу, знал бы как, тут не спрашивал.
Тут вот я пытался научить понимать файрвол опытным путём.
http://forum.lissyara.su/viewtopic.php?t=2432
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2007-03-05 9:03:30
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Тогда для DMZ делай отдельную сеть и пусть пров настроит роутинг. (или ты настраиваешь мост)GRUV писал(а):Внешних IP много больше.. до 128
Почему так?
К примеру:
Код: Выделить всё
fxp0 - 10.10.10.10/30 (lan 10.10.10.8 + Шлюз 10.10.10.9 + IP-Адрес 10.10.10.10 + broadcast 10.10.10.11)
fxp1 - 10.10.10.13/30 (Единственным IP будет 10.10.10.14)
DMZ (соединён с fxp1) IP-Адрес 10.10.10.14 + шлюз 10.10.10.13
Код: Выделить всё
13:10:06.598349 arp who-has 10.10.10.10 tell 10.10.10.9
Код: Выделить всё
13:16:38.073308 arp reply 10.10.10.10 is-at 00:10:5a:0f:90:3e
Код: Выделить всё
13:10:06.598349 arp who-has 10.10.10.14 tell 10.10.10.9
Т.к. данные передаются между MAC-Адресами передачи данных не будет.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2007-03-05 9:03:30