я уже всё, приплыл !
ситуация:
внешний ип ххх.ххх.ххх.23 - адын
внешний ип ххх.ххх.ххх.25 - другойххх.ххх.ххх.23 ходит в инет через роутер ххх.ххх.ххх.1
надо: из 23 сделать роутер; 25 пускать в инет через 23
ОС - Fbsd 4.8
пошагово , что я делал на 23:
настройки в ядре:
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE_LIMIT=100
options TCP_DROP_SYNFIN
options DUMMYNET
options IPDIVERTrc.conf:
hostname="xxxxxx"
ifconfig_lo0="inet 127.0.0.1"
ifconfig_ed0="inet xxx.xxx.xxx.23 netmask 255.255.0.0"
defaultrouter="xxx.xxx.xxx.1"
gateway_enable="YES"
firewall_enable="YES"
tcp_drop_synfin="YES"
icmp_drop_redirect="YES"
icmp_log_redirect="YES"
tcp_extensions="NO"rc.firewall:
#!/bin/shfwcmd="/sbin/ipfw"
$fwcmd -f flush$fwcmd add 10 allow ip from any to any via lo0
$fwcmd add 11 deny ip from any to 127.0.0.0/8
$fwcmd add 1003 skipto 3000 tcp from any to any 22
$fwcmd add 1004 skipto 3000 tcp from any 22 to any
$fwcmd add 1005 skipto 3000 tcp from any to any 53
$fwcmd add 1006 skipto 3000 tcp from any 53 to any
$fwcmd add 1007 skipto 3000 udp from any to any 53
$fwcmd add 1008 skipto 3000 udp from any 53 to any
$fwcmd add 3000 allow ip from any to any
в итоге после ребута:
23 в инете
на 25 прописываю 23 как роутер
и нифига!для теста пинговал www.ru
с 23 пинг есть до него
с 25 нетуЧТО Я ПРОПУСТИЛ, ИЛИ ЧТО НЕ ТАК ??!!!!!
ПОМОГИТЕ :)
тема заезжанная до одури. но почему не пашет?!!
btw add allow icmp from any to any не спасает :))
>btw add allow icmp from any to any не спасает :))
из того что ты написал, Я схему сети понять не могу.
И зачем тебе skip правила ?
>>btw add allow icmp from any to any не спасает :))
>
>
> из того что ты написал, Я схему сети понять не могу.
>
>И зачем тебе skip правила ?(((((inet)))))) ----- <xxx.xxx.xxx.1)
(router)
/
/
/
/
(xxx,xxx.xxx.23) -------- (xxx.xxx.xxx.25)
(из него делаем роутер,
чтобы 25 через него ходил в инет)p.s.
все айпи адреса внешниеp.p.s
25 напрямую к 21 подключить нельзя.по поводу skipto:
а разве кто-то запрещал?
мне так удобнее....
кинь ifconfig и route
>кинь ifconfig и routeed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet xxx.xxx.xxx..23 netmask 0xffff0000 broadcast xxx.xxx.255.255
inet6 fe80::200:1ff:fe00:1a7cМ0 prefixlen 64 scopeid 0x1
ether 00:00:01:00:1a:7c
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
faith0: flags=8002<BROADCAST,MULTICAST> mtu 1500
Routing tablesInternet:
Destination Gateway Flags Refs Use Netif Expire
default xxx.xxx.xxx.1 UGSc 1 2384 ed0
xxx.xxx/16 link#1 UC 4 0 ed0
xxx.xxx.66.66 link#1 UHLW 0 11 ed0
xxx.xxx.xxx.1 00:04:79:66:d6:c3 UHLW 1 0 795
xxx.xxx.xxx.25 00:80:48:c7:18:73 UHLW 1 1132 ed0 934
localhost localhost UH 0 144 lo0
В приведенной схеме у 25 не будет интернета. Почему ? Подумай откуда 1 будет знать, что пакеты для 25 надо слать на 23 ? Поэтому можно
1. пров настраивает свой роутер, так чтоб ы слать пакеты для 25 на 23 тачку.
2. поднять на 23 итерфейс с 25 на внешней карточке, на внутренней и на бывшем 25 поднять 192,168-ю сеть. на 23 настороить NAT для прямой трансляции 25 в 192,168-ю сеть на бывший 25.
3. настроить на 23 BRIDGE
вопрос еще такой:
делаю sh rc.firewall через ssh
доступ к хосту пропадает
делаю локально всё ок
не уж-то он делает flush => ssh блокируется и дальше команды не выполняются ?!
>вопрос еще такой:
>делаю sh rc.firewall через ssh
>доступ к хосту пропадает
>делаю локально всё ок
>не уж-то он делает flush => ssh блокируется и дальше команды не выполняются ?!именно. для рестарта Ipfw юзай /usr/share/examples/ipfw/change_rules.sh
ок , спасибо
с этим ясно :)
опять траблы :) NAT(((((inet)))))) ----- <xxx.xxx.xxx.1)
(router)
/
/
/
/
(xxx,xxx.xxx.23) -------- (10.xxx.xxx.25)
(10.xxx.xxx.46)
rc.conf:
hostname="xxxxxx"
ifconfig_lo0="inet 127.0.0.1"
ifconfig_ed0="inet xxx.xxx.xxx.23 netmask 255.255.0.0"
ifconfig_ed0_alias0="inet xxx.xxx.xxx.23 netmask 255.255.255.0"
ifconfig_ed0_alias1="inet 10.xxx.xxx.46 netmask 255.255.0.0"
defaultrouter="xxx.xxx.xxx.1"
gateway_enable="YES"
firewall_enable="YES"
tcp_drop_synfin="YES"
icmp_drop_redirect="YES"
icmp_log_redirect="YES"
tcp_extensions="NO"rc.firewall:
#!/bin/shfwcmd="/sbin/ipfw"
$fwcmd -f flush$fwcmd add 10 allow ip from any to any via lo0
$fwcmd add 11 deny ip from any to 127.0.0.0/8
$fwcmd add 100 divert 8868 10.xxx.xxx.25 to any out xmit ed0
$fwcmd add 200 divert 8868 from any to xxx.xxx.xxx.23
$fwcmd add 1003 skipto 3000 tcp from any to any 22
$fwcmd add 1004 skipto 3000 tcp from any 22 to any
$fwcmd add 1005 skipto 3000 tcp from any to any 53
$fwcmd add 1006 skipto 3000 tcp from any 53 to any
$fwcmd add 1007 skipto 3000 udp from any to any 53
$fwcmd add 1008 skipto 3000 udp from any 53 to any
$fwcmd add 3000 allow ip from any to anyзапускаю:
natd -a xxx.xxx.xxx.23 -p 8868а здесь в чем трабл?!
>hostname="xxxxxx"
>ifconfig_lo0="inet 127.0.0.1"
>ifconfig_ed0="inet xxx.xxx.xxx.23 netmask 255.255.0.0"
>ifconfig_ed0_alias0="inet xxx.xxx.xxx.23 netmask 255.255.255.0"
^^^^^^^^^^^^^^^^^
вот эта строка нафига ? Убрать.
>ifconfig_ed0_alias1="inet 10.xxx.xxx.46 netmask 255.255.0.0"
>defaultrouter="xxx.xxx.xxx.1"
>gateway_enable="YES"
>firewall_enable="YES"
>tcp_drop_synfin="YES"
>icmp_drop_redirect="YES"
>icmp_log_redirect="YES"
>tcp_extensions="NO"
>
>rc.firewall:
>#!/bin/sh
>
> fwcmd="/sbin/ipfw"
> $fwcmd -f flush
>
> $fwcmd add 10 allow ip from any to
>any via lo0
> $fwcmd add 11 deny ip from any to
>127.0.0.0/8
> $fwcmd add 100 divert 8868 10.xxx.xxx.25 to any out
>xmit ed0
> $fwcmd add 200 divert 8868 from any to xxx.xxx.xxx.23
divert как-то не правильно написан. убери и напиши:
ipfw add 100 divert nat ip from 10.xxx.xxx.25 to any out via xxx.xxx.xxx.23
ipfw add 200 divert nat ip from any to xxx.xxx.xxx.23>
> $fwcmd add 1003 skipto 3000 tcp from any
>to any 22
> $fwcmd add 1004 skipto 3000 tcp from any
>22 to any
> $fwcmd add 1005 skipto 3000 tcp from any
>to any 53
> $fwcmd add 1006 skipto 3000 tcp from any
>53 to any
> $fwcmd add 1007 skipto 3000 udp from any
>to any 53
> $fwcmd add 1008 skipto 3000 udp from any
>53 to any
> $fwcmd add 3000 allow ip from any to
>any
>
>запускаю:
>natd -a xxx.xxx.xxx.23 -p 8868
>
>а здесь в чем трабл?!
Вообщето твоя схема абсолютно бессмысленна - надо ставть вторую сетевую карту и делать по уму.