Ситуация такая. Есть FreeBSD. Настроен НАТ. Непонимаю почему, но часть клиентов нат не пропускает. Внутренний интерфейс виден а внешний нет.sterver# ifconfig
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:00:e8:44:02:f3
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 195.128.17.242 netmask 0xfffffffc broadcast 195.128.17.243
ether 00:60:08:37:6e:95
media: Ethernet autoselect (100baseTX <full-duplex>)
status: activeможет ещё какие-то настройки сказать?
>Ситуация такая. Есть FreeBSD. Настроен НАТ. Непонимаю почему, но часть клиентов нат
>не пропускает. Внутренний интерфейс виден а внешний нет.
>
>sterver# ifconfig
>может ещё какие-то настройки сказать?Командную строку запуска natd и его конфигурационный файл.
ipfw show
>>Ситуация такая. Есть FreeBSD. Настроен НАТ. Непонимаю почему, но часть клиентов нат
>>не пропускает. Внутренний интерфейс виден а внешний нет.
>>
>>sterver# ifconfig
>>может ещё какие-то настройки сказать?
>
>Командную строку запуска natd и его конфигурационный файл.
>ipfw show/etc/rc.local
/sbin/natd -p 8668 -a 195.128.17.242
/sbin/natd -p 8778 -a 192.168.1.1
ipwf show
00085 0 0 reject log logamount 10 tcp from any to any tcpflags syn,fin,ack,psh,rst,urg
00085 114 5472 deny ip from 192.168.0.0/24 to any dst-port 25
00085 18 840 deny ip from any 25 to me
00085 24 1152 deny ip from 192.168.0.0/24 to any dst-port 110
00085 0 0 deny ip from any 110 to me
00086 0 0 reject log logamount 10 tcp from any to any tcpflags !syn,!fin,!ack,!psh,!rst,!urg
00090 4878 186493 allow udp from any to me dst-port 7723
00090 1427 104043 allow udp from me 7723 to any
00091 2476 2769667 allow tcp from any to me setup limit src-addr 30
00091 0 0 allow udp from any to me setup limit src-addr 10
00092 2 80 allow ip from any to me dst-port 80
00092 0 0 allow ip from me 80 to any
00092 0 0 allow ip from any to me dst-port 22
00092 0 0 allow ip from me 22 to any
00093 0 0 allow tcp from any to me dst-port 21
00093 0 0 allow tcp from me 21 to any
00096 0 0 allow ip from any to any via lo0
00100 214659 41185732 divert 8778 ip from table(3) to not table(2)
00101 98689 19698980 fwd 192.168.1.19 ip from 192.168.1.1 to any
00102 77301 38755237 divert 8778 ip from any to 192.168.1.1
00108 174587 25199395 divert 8668 ip from 192.168.0.0/24 to any
00110 45808 53251757 divert 8668 ip from any to 195.128.17.242
00210 76549 55370072 allow ip from any to any via rl0
00215 187 32220 allow ip from any to me
00215 1096 61292 allow ip from me to any
00220 25 2945 allow ip from 192.168.1.0/24 to 192.168.1.0/24
40002 1 260 pipe 13 ip from table(2) to 192.168.0.241
40002 1 59 pipe 15 ip from 192.168.0.241 to table(2)
40002 80 12922 pipe 12 ip from not table(2) to 192.168.0.241
40002 41 3880 pipe 14 ip from 192.168.0.241 to not table(2)
40003 28 7366 pipe 17 ip from table(2) to 192.168.0.103
40003 29 1772 pipe 19 ip from 192.168.0.103 to table(2)
40003 5868 6327724 pipe 16 ip from not table(2) to 192.168.0.103
40003 2591 287764 pipe 18 ip from 192.168.0.103 to not table(2)
40004 30 7839 pipe 21 ip from table(2) to 192.168.0.105
40004 30 1817 pipe 23 ip from 192.168.0.105 to table(2)
40004 1678 257398 pipe 20 ip from not table(2) to 192.168.0.105
40004 1148 122631 pipe 22 ip from 192.168.0.105 to not table(2)
40005 0 0 pipe 25 ip from table(2) to 192.168.0.173
40005 0 0 pipe 27 ip from 192.168.0.173 to table(2)
40005 0 0 pipe 24 ip from not table(2) to 192.168.0.173
40005 1 229 pipe 26 ip from 192.168.0.173 to not table(2)
40006 4 1201 pipe 29 ip from table(2) to 192.168.0.156
40006 4 281 pipe 31 ip from 192.168.0.156 to table(2)
40006 1112 51936 pipe 28 ip from not table(2) to 192.168.0.156
40006 578 31910 pipe 30 ip from 192.168.0.156 to not table(2)
40007 130 136231 pipe 33 ip from table(2) to 192.168.0.60
40007 103 10432 pipe 35 ip from 192.168.0.60 to table(2)
40007 580 84502 pipe 32 ip from not table(2) to 192.168.0.60
40007 334 39921 pipe 34 ip from 192.168.0.60 to not table(2)
40008 66 15946 pipe 37 ip from table(2) to 192.168.0.112
40008 66 4149 pipe 39 ip from 192.168.0.112 to table(2)
40008 5454 3171976 pipe 36 ip from not table(2) to 192.168.0.112
40008 3216 242028 pipe 38 ip from 192.168.0.112 to not table(2)
40009 66 13051 pipe 41 ip from table(2) to 192.168.0.172
40009 50 3118 pipe 43 ip from 192.168.0.172 to table(2)
40009 79071 45936408 pipe 40 ip from not table(2) to 192.168.0.172
40009 45736 9070323 pipe 42 ip from 192.168.0.172 to not table(2)
40010 11 4082 pipe 45 ip from table(2) to 192.168.0.100
40010 11 655 pipe 47 ip from 192.168.0.100 to table(2)
40010 546 551220 pipe 44 ip from not table(2) to 192.168.0.100
40010 259 22318 pipe 46 ip from 192.168.0.100 to not table(2)
40011 1 147 pipe 49 ip from table(2) to 192.168.0.168
40011 1 64 pipe 51 ip from 192.168.0.168 to table(2)
40011 4 214 pipe 48 ip from not table(2) to 192.168.0.168
40011 24 2033 pipe 50 ip from 192.168.0.168 to not table(2)
40012 21 3178 pipe 53 ip from table(2) to 192.168.0.107
40012 13 779 pipe 55 ip from 192.168.0.107 to table(2)
40012 10256 659920 pipe 52 ip from not table(2) to 192.168.0.107
40012 10127 2812832 pipe 54 ip from 192.168.0.107 to not table(2)
40013 26 8591 pipe 57 ip from table(2) to 192.168.0.160
40013 26 1595 pipe 59 ip from 192.168.0.160 to table(2)
40013 594 231702 pipe 56 ip from not table(2) to 192.168.0.160
40013 364 38509 pipe 58 ip from 192.168.0.160 to not table(2)
40014 132 22238 pipe 61 ip from table(2) to 192.168.0.106
40014 126 8209 pipe 63 ip from 192.168.0.106 to table(2)
40014 10612 6853870 pipe 60 ip from not table(2) to 192.168.0.106
40014 8144 834535 pipe 62 ip from 192.168.0.106 to not table(2)
40015 30 5323 pipe 65 ip from table(2) to 192.168.0.109
40015 18 1090 pipe 67 ip from 192.168.0.109 to table(2)
40015 2464 222044 pipe 64 ip from not table(2) to 192.168.0.109
40015 4346 313525 pipe 66 ip from 192.168.0.109 to not table(2)
40016 4960 6301321 pipe 69 ip from table(2) to 192.168.0.117
40016 3735 195509 pipe 71 ip from 192.168.0.117 to table(2)
40016 1466 872597 pipe 68 ip from not table(2) to 192.168.0.117
40016 724 81609 pipe 70 ip from 192.168.0.117 to not table(2)
40017 2 484 pipe 73 ip from table(2) to 192.168.0.186
40017 2 117 pipe 75 ip from 192.168.0.186 to table(2)
40017 314 91382 pipe 72 ip from not table(2) to 192.168.0.186
40017 146 15284 pipe 74 ip from 192.168.0.186 to not table(2)
40018 100 65273 pipe 77 ip from table(2) to 192.168.0.243
40018 93 4450 pipe 79 ip from 192.168.0.243 to table(2)
40018 166 59674 pipe 76 ip from not table(2) to 192.168.0.243
40018 74 10889 pipe 78 ip from 192.168.0.243 to not table(2)
40019 1423 1756545 pipe 81 ip from table(2) to 192.168.0.218
40019 1199 118204 pipe 83 ip from 192.168.0.218 to table(2)
40019 1006 509368 pipe 80 ip from not table(2) to 192.168.0.218
40019 499 57529 pipe 82 ip from 192.168.0.218 to not table(2)
40020 20 6669 pipe 85 ip from table(2) to 192.168.0.246
40020 20 1225 pipe 87 ip from 192.168.0.246 to table(2)
40020 1154 533588 pipe 84 ip from not table(2) to 192.168.0.246
40020 607 56943 pipe 86 ip from 192.168.0.246 to not table(2)
40021 0 0 pipe 89 ip from table(2) to 192.168.0.234
40021 0 0 pipe 91 ip from 192.168.0.234 to table(2)
40021 0 0 pipe 88 ip from not table(2) to 192.168.0.234
40021 15 1980 pipe 90 ip from 192.168.0.234 to not table(2)
40022 2 610 pipe 93 ip from table(2) to 192.168.0.237
40022 2 262 pipe 95 ip from 192.168.0.237 to table(2)
40022 300 82348 pipe 92 ip from not table(2) to 192.168.0.237
40022 282 36980 pipe 94 ip from 192.168.0.237 to not table(2)
40023 21 5900 pipe 97 ip from table(2) to 192.168.0.110
40023 21 1261 pipe 99 ip from 192.168.0.110 to table(2)
40023 478 75322 pipe 96 ip from not table(2) to 192.168.0.110
40023 336 35062 pipe 98 ip from 192.168.0.110 to not table(2)
40024 27922 38444798 pipe 101 ip from table(2) to 192.168.0.61
40024 13872 589639 pipe 103 ip from 192.168.0.61 to table(2)
40024 1662 1130202 pipe 100 ip from not table(2) to 192.168.0.61
40024 3291 313251 pipe 102 ip from 192.168.0.61 to not table(2)
40025 388 29488 pipe 105 ip from table(2) to 192.168.0.129
40025 646 31008 pipe 107 ip from 192.168.0.129 to table(2)
40025 12 744 pipe 104 ip from not table(2) to 192.168.0.129
40025 324 15663 pipe 106 ip from 192.168.0.129 to not table(2)
40026 206 89941 pipe 109 ip from table(2) to 192.168.0.134
40026 252 57368 pipe 111 ip from 192.168.0.134 to table(2)
40026 1414 1613382 pipe 108 ip from not table(2) to 192.168.0.134
40026 753 67458 pipe 110 ip from 192.168.0.134 to not table(2)
40027 1 257 pipe 113 ip from table(2) to 192.168.0.161
40027 1 63 pipe 115 ip from 192.168.0.161 to table(2)
40027 14 7176 pipe 112 ip from not table(2) to 192.168.0.161
40027 18 1632 pipe 114 ip from 192.168.0.161 to not table(2)
40028 1262 936138 pipe 117 ip from table(2) to 192.168.0.213
40028 1318 199667 pipe 119 ip from 192.168.0.213 to table(2)
40028 226 98596 pipe 116 ip from not table(2) to 192.168.0.213
40028 188 19758 pipe 118 ip from 192.168.0.213 to not table(2)
40029 79 15571 pipe 121 ip from table(2) to 192.168.0.104
40029 81 5567 pipe 123 ip from 192.168.0.104 to table(2)
40029 11060 2382884 pipe 120 ip from not table(2) to 192.168.0.104
40029 10737 4400527 pipe 122 ip from 192.168.0.104 to not table(2)
40030 45 9390 pipe 125 ip from table(2) to 192.168.0.114
40030 43 2645 pipe 127 ip from 192.168.0.114 to table(2)
40030 4591 1200089 pipe 124 ip from not table(2) to 192.168.0.114
40030 3334 649968 pipe 126 ip from 192.168.0.114 to not table(2)
40032 5 1565 pipe 133 ip from table(2) to 192.168.0.151
40032 6 346 pipe 135 ip from 192.168.0.151 to table(2)
40032 54 9150 pipe 132 ip from not table(2) to 192.168.0.151
40032 42 6047 pipe 134 ip from 192.168.0.151 to not table(2)
40033 2951 1687942 pipe 137 ip from table(2) to 192.168.0.153
40033 1839 82676 pipe 139 ip from 192.168.0.153 to table(2)
40033 8 1384 pipe 136 ip from not table(2) to 192.168.0.153
40033 70 21403 pipe 138 ip from 192.168.0.153 to not table(2)
40037 284 223298 pipe 153 ip from table(2) to 192.168.0.177
40037 293 25972 pipe 155 ip from 192.168.0.177 to table(2)
40037 666 323024 pipe 152 ip from not table(2) to 192.168.0.177
40037 400 39787 pipe 154 ip from 192.168.0.177 to not table(2)
40038 0 0 pipe 157 ip from table(2) to 192.168.0.181
40038 0 0 pipe 159 ip from 192.168.0.181 to table(2)
40038 0 0 pipe 156 ip from not table(2) to 192.168.0.181
40038 2 307 pipe 158 ip from 192.168.0.181 to not table(2)
40044 2788 2199625 pipe 181 ip from table(2) to 192.168.0.188
40044 2636 420484 pipe 183 ip from 192.168.0.188 to table(2)
40044 4140 3113344 pipe 180 ip from not table(2) to 192.168.0.188
40044 2166 283239 pipe 182 ip from 192.168.0.188 to not table(2)
40068 138 30698 pipe 277 ip from table(2) to 192.168.0.113
40068 136 8572 pipe 279 ip from 192.168.0.113 to table(2)
40068 2238 472940 pipe 276 ip from not table(2) to 192.168.0.113
40068 1670 142542 pipe 278 ip from 192.168.0.113 to not table(2)
60000 2511 458150 deny ip from any to any
65100 0 0 deny tcp from any to any dst-port 3128,8080
65150 0 0 skipto 65400 ip from any to any
65200 0 0 deny tcp from any to any dst-port 3128,8080
65270 0 0 deny ip from any to any
65534 4675 388275 deny ip from any to any
65535 0 0 allow ip from any to any
самое интересное, что у клиента не ходят пинги даже на внешний интерфейс и в tcpdump нет абсолютно никакой информации по поводу ICMP пакетов на внешний интерфейс (tcpdump снимался на внутреннем)
ipfw show - не осилил :(
попробуй сделать всё в ацеп, если не идет всёравно, значит дело в роуте.
>[оверквотинг удален]
>00100 214659 41185732 divert 8778 ip from table(3) to not table(2)
>00101 98689 19698980 fwd 192.168.1.19 ip from 192.168.1.1 to any
>00102 77301 38755237 divert 8778 ip from any to 192.168.1.1
>00108 174587 25199395 divert 8668 ip from 192.168.0.0/24 to any
>00110 45808 53251757 divert 8668 ip from any to 195.128.17.242
>00210 76549 55370072 allow ip from any to any via rl0
>
>самое интересное, что у клиента не ходят пинги даже на внешний интерфейс
>и в tcpdump нет абсолютно никакой информации по поводу ICMP пакетов
>на внешний интерфейс (tcpdump снимался на внутреннем)где ipfw table 2(3) list ?
сдается мне что раз у клиента даже пинги не ходят - проблемы у клиента...
>>Командную строку запуска natd и его конфигурационный файл.
>>ipfw show
>
>/etc/rc.local
>/sbin/natd -p 8668 -a 195.128.17.242Этот NAT на внешнем публичном адресе , интерфейс xl0
>/sbin/natd -p 8778 -a 192.168.1.1
Этот NAT зачем?
>ipwf show
>00085 0....
> 0 allow ip from me 22 to any
>00093 0
> 0 allow tcp from any to me dst-port 21
>
>00093 0
> 0 allow tcp from me 21 to any
>00096 0
> 0 allow ip from any to any via lo0
>
>00100 214659 41185732 divert 8778 ip from table(3) to not table(2)Зачем этот диверт, что тут натим? Загружены ли таблицы ip адресами?
/sbin/ipfw add divert 8778 ip from table(3) to not table(2) '[in|out]' via dc0
>00101 98689 19698980 fwd 192.168.1.19 ip from 192.168.1.1 to any
>00102 77301 38755237 divert 8778 ip from any to 192.168.1.1/sbin/ipfw add divert 8778 ip from any to 192.168.1.1 '[in|out]' via dc0
>00108 174587 25199395 divert 8668 ip from 192.168.0.0/24 to any
/sbin/ipfw add divert 8668 ip from 192.168.0.0/24 to any out via xl0
>00110 45808 53251757 divert 8668 ip from any to 195.128.17.242
/sbin/ipfw add divert 8668 ip from any to 195.128.17.242 in via xl0
>00210 76549 55370072 allow ip from any to any via rl0
Про интерфейс rl0 Вы ничего не писали.
>00215 187 32220 allow ip from
>any to me
>00215 1096 61292 allow ip from me
>to any
>00220 25 2945 allow
>ip from 192.168.1.0/24 to 192.168.1.0/24
>40002 1
>260 pipe 13 ip from table(2) to 192.168.0.241...
Включайте здесь лог и смотрите.
/sbin/ipfw add deny log ip from any to any>60000 2511 458150 deny ip from any to
>any.....
>65535 0
> 0 allow ip from any to any
>
>
>самое интересное, что у клиента не ходят пинги даже на внешний интерфейс
>и в tcpdump нет абсолютно никакой информации по поводу ICMP пакетов
>на внешний интерфейс (tcpdump снимался на внутреннем)Вообщем, типичная работа над своими же ошибками.
сейчас всё по порядку.
test# ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 195.128.17.242 netmask 0xfffffffc broadcast 195.128.17.243
ether 00:30:84:27:ec:46
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:e0:4c:8a:53:8c
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
-----------------------------------------------------------
test# ipfw show
00085 reject log logamount 10 tcp from any to any tcpflags syn,fin,ack,psh,rst,urg
00085 deny ip from 192.168.0.0/24 to any dst-port 25
00085 deny ip from any 25 to me
00085 deny ip from 192.168.0.0/24 to any dst-port 110
00085 deny ip from any 110 to me
00086 reject log logamount 10 tcp from any to any tcpflags !syn,!fin,!ack,!psh,!rst,!urg
00090 allow udp from any to me dst-port 7723
00090 allow udp from me 7723 to any
00091 allow tcp from any to me setup limit src-addr 30
00091 allow udp from any to me setup limit src-addr 10
00092 allow ip from any to me dst-port 80
00092 allow ip from me 80 to any
00092 allow ip from any to me dst-port 22
00092 allow ip from me 22 to any
00093 allow tcp from any to me dst-port 21
00093 allow tcp from me 21 to any
00096 allow ip from any to any via lo0
00100 divert 8778 ip from table(3) to not table(2)
00101 fwd 192.168.1.19 ip from 192.168.1.1 to any
00102 divert 8778 ip from any to 192.168.1.1
00108 divert 8668 ip from 192.168.0.0/24 to any
00110 divert 8668 ip from any to 195.128.17.242
00210 allow ip from any to any via rl0
00215 allow ip from any to me
00215 allow ip from me to any
00220 allow ip from 192.168.1.0/24 to 192.168.1.0/24
*тут были pipe
60000 deny ip from any to any
65100 deny tcp from any to any dst-port 3128,8080
65150 skipto 65400 ip from any to any
65200 deny tcp from any to any dst-port 3128,8080
65270 deny ip from any to any
65534 deny ip from any to any
65535 allow ip from any to any
------------------------------------------------------------
test# ipfw table 2 list
это сети UA-IX
------------------------------------------------------------
test# ipfw table 3 list
это список локальных IP для которых нужно использовать перенаправление на 192.168.1.19
------------------------------------------------------------топология сети:
есть внешний канал1 (подключен к rl0) 195.128.17.242
есть внешний канал2 (подключен к rl1 через алиас0 с IP 192.168.1.1) шлюз-192.168.1.19
есть внутренняя сеть с IP 192.168.0.0/24 (подлючена к rl1 без алиаса с IP 192.168.0.1)Задача:
так как трафик делица на UA-IX & WORLD то:
для тех кто в таблице 3 перенапрявлять запросы на IP которые не в таблице 2 на 192.168.1.19. Остальные запросы перенапрявлять на rl0
------------------------------------------------------------
Проблема:
иногда у клиентов перестаёт быть боступен внешний интерфейс. в tcpdump от клиента (при пингах внешнего) на внутреннем интерфейсе вижу что-то вроди этого: arp 192.168.0.x is at MAC и больше ничего. Про наличие пакетов на внешнем интерфейсе я и не говорю - пусто.
------------------------------------------------------------
ещё заметил станности в netstat -rn. там появляются несуществующие IP со статусом link#1 или 2 но без MACtest# netstat -rn (сейчас сдесь всё нормально)
Routing tablesInternet:
Destination Gateway Flags Refs Use Netif Expire
default 195.128.17.241 UGS 0 9296103 rl0
127.0.0.1 127.0.0.1 UH 0 15274 lo0
192.168.0 link#2 UC 0 0 rl1
192.168.0.61 00:30:84:27:4f:f9 UHLW 1 3180 rl1 1094
192.168.0.99 00:16:17:96:05:25 UHLW 1 354 rl1 1057
192.168.0.117 00:e0:4c:03:6d:0c UHLW 1 6919 rl1 1051
192.168.0.156 00:18:f3:7f:77:27 UHLW 1 7200 rl1 1051
192.168.0.168 00:13:8f:5a:5f:2a UHLW 1 66 rl1 1117
192.168.0.209 00:14:2a:91:e8:6e UHLW 1 7972 rl1 1117
192.168.0.226 00:16:17:4f:a7:3b UHLW 1 6 rl1 1117
192.168.0.228 00:0c:6e:c4:24:44 UHLW 1 8 rl1 1064
192.168.0.246 00:50:fc:ce:db:44 UHLW 1 8 rl1 1064
192.168.0.247 00:0f:b0:fe:4f:a9 UHLW 1 8 rl1 1071
192.168.1 link#2 UC 0 0 rl1
192.168.1.19 00:13:46:f8:ec:c0 UHLW 1 3047753 rl1 55
195.128.17.240/30 link#1 UC 0 0 rl0
195.128.17.241 00:03:47:f7:ab:b2 UHLW 2 0 rl0 250
195.128.17.242 00:30:84:27:ec:46 UHLW 1 102 lo0
>-----------------------------------------------------------
>test# ipfw show....
>00096 allow ip from any to any via lo0Все из 192.168.1.1 сразу форвардим на 192.168.1.19 , дивертить уже не надо.
/sbin/ipfw add fwd 192.168.1.19 ip from 192.168.1.1 to any
/sbin/ipfw add divert 8778 ip from table(3) to not table(2) in via rl1
/sbin/ipfw add divert 8778 ip from any to 192.168.1.1 in via rl1
/sbin/ipfw add divert 8668 ip from 192.168.0.0/24 to any out via rl0
/sbin/ipfw add divert 8668 ip from any to 195.128.17.242 in via rl0Может так полегчает.
>[оверквотинг удален]
>Задача:
>так как трафик делица на UA-IX & WORLD то:
>для тех кто в таблице 3 перенапрявлять запросы на IP которые не
>в таблице 2 на 192.168.1.19. Остальные запросы перенапрявлять на rl0
>------------------------------------------------------------
>Проблема:
>иногда у клиентов перестаёт быть боступен внешний интерфейс. в tcpdump от клиента
>(при пингах внешнего) на внутреннем интерфейсе вижу что-то вроди этого: arp
>192.168.0.x is at MAC и больше ничего. Про наличие пакетов на
>внешнем интерфейсе я и не говорю - пусто.А внешний интерфейс (195.128.17.242) не входит ли в таблицу 2 (UA-IX) ?
>
>А внешний интерфейс (195.128.17.242) не входит ли в таблицу 2 (UA-IX) ?
>входит наверно в 195.128.16.0/22
в этом может быть проблемка, хотя юольшинство пользователей работают нормально...
>
>>
>>А внешний интерфейс (195.128.17.242) не входит ли в таблицу 2 (UA-IX) ?
>>
>
>входит наверно в 195.128.16.0/22
>в этом может быть проблемка, хотя юольшинство пользователей работают нормально...Сделайте skipto для адресов из 192.168.0.0/24 в 195.128.17.242 и обратно, обойдя
правила с divert 8778 ( в вашем посте с 100 по 102 ).
>[оверквотинг удален]
>>>
>>>А внешний интерфейс (195.128.17.242) не входит ли в таблицу 2 (UA-IX) ?
>>>
>>
>>входит наверно в 195.128.16.0/22
>>в этом может быть проблемка, хотя юольшинство пользователей работают нормально...
>
>Сделайте skipto для адресов из 192.168.0.0/24 в 195.128.17.242 и обратно, обойдя
>правила с divert 8778 ( в вашем посте с 100 по 102
>).я к сожалению не большой гуру в написании правил. можете помочь в написании skipto
эти правила как-то не так работают, протестирую ещё с локалки
#${ipfw} add 100 divert 8778 ip from table\(3\) to not table\(2\) '[in|out]' vi
#${ipfw} add 101 fwd 192.168.1.19 ip from 192.168.1.1 to any
#${ipfw} add 102 divert 8778 ip from any to 192.168.1.1 '[in|out]' via ${ifint
#${ipfw} add 103 divert 8668 ip from 192.168.0.0/24 to any out via ${ifextmir}
#${ipfw} add 104 divert 8668 ip from any to 195.128.17.242 in via ${ifextmir}вернулся пока к старым
${ipfw} add 100 divert 8778 all from table\(3\) to not table\(2\)
${ipfw} add 101 fwd 192.168.1.19 all from 192.168.1.1 to any
${ipfw} add 102 divert 8778 all from any to 192.168.1.1${ipfw} add 108 divert 8668 all from 192.168.0.0/24 to any
${ipfw} add 110 divert 8668 all from any to 195.128.17.242
${ipfw} add 210 allow all from any to any via ${ifextmir}а про skipto
${ipfw} add 99 skipto 107 all from 192.168.0.0/24 to 195.128.17.242 так?
>я к сожалению не большой гуру в написании правил. можете помочь в
>написании skiptoБазовые примеры в /etc/rc.firewall
http://www.opennet.me/openforum/vsluhforumID10/3273.html
http://www.opennet.me/opennews/art.shtml?num=12522
man ipfw>вернулся пока к старым
>${ipfw} add 100 divert 8778 all from table\(3\) to not table\(2\)
>${ipfw} add 101 fwd 192.168.1.19 all from 192.168.1.1 to any
>${ipfw} add 102 divert 8778 all from any to 192.168.1.1
>
>${ipfw} add 108 divert 8668 all from 192.168.0.0/24 to any
>${ipfw} add 110 divert 8668 all from any to 195.128.17.242
>${ipfw} add 210 allow all from any to any via ${ifextmir}${ipfw} add 97 fwd 192.168.1.19 ip from 192.168.1.1 to any
${ipfw} add 98 skipto 103 all from 192.168.0.0/24 to 195.128.17.242
${ipfw} add 99 skipto 103 all from 195.128.17.242 to 192.168.0.0/24
Хотя, 99 правило здесь будет лишнее.
${ipfw} add 100 divert 8778 ip from table\(3\) to not table\(2\) in via rl1
${ipfw} add 102 divert 8778 ip from any to 192.168.1.1 in via rl1
${ipfw} add 108 divert 8668 ip from 192.168.0.0/24 to any out via rl0
${ipfw} add 110 divert 8668 ip from any to 195.128.17.242 in via rl0
>[оверквотинг удален]
>${ipfw} add 99 skipto 103 all from 195.128.17.242 to 192.168.0.0/24
>Хотя, 99 правило здесь будет лишнее.
>${ipfw} add 100 divert 8778 ip from table\(3\) to not table\(2\) in
>via rl1
>${ipfw} add 102 divert 8778 ip from any to 192.168.1.1 in via
>rl1
>${ipfw} add 108 divert 8668 ip from 192.168.0.0/24 to any out via
>rl0
>${ipfw} add 110 divert 8668 ip from any to 195.128.17.242 in via
>rl0я вот чого подумал:
1. Зачем указывать in или out ?
2. Зачем указывать интерфейс? (у меня на интерфейсе алиас поднят, это не мешает или kxit указать конкрутный IP)
3. правило fwd(№97) разве не должно идти после проверки принадлежности IP к списку (№100)
>[оверквотинг удален]
>>via rl1
>>${ipfw} add 102 divert 8778 ip from any to 192.168.1.1 in via
>>rl1
>>${ipfw} add 108 divert 8668 ip from 192.168.0.0/24 to any out via
>>rl0
>>${ipfw} add 110 divert 8668 ip from any to 195.128.17.242 in via
>>rl0
>
>я вот чого подумал:
>1. Зачем указывать in или out ?Накладные расходы при обработке пакетов роутером с использованием natd
относительно большие. natd - это пока приложение , а не
составная часть ядра.
Зачем загружать natd заведоме бесполезной работой по обработке
пакетов для него не предназначенных?>2. Зачем указывать интерфейс? (у меня на интерфейсе алиас поднят, это не
>мешает или kxit указать конкрутный IP)В вашем случае все равно, потому что в другой части правил явно указаны
ip адреса , а не from any to any .
>3. правило fwd(№97) разве не должно идти после проверки принадлежности IP к
>списку (№100)Пакет уже был ранее обработан natd (divert 8778) и/или имеет ip адрес
192.168.1.1 . Ранее обработан потому, что все пакеты обработанные
приложением natd снова возвращаются в стек TCP/IP Сразу форвардим, зачем снова его напрвлять natd
(divert 8778)?
>[оверквотинг удален]
>>via rl1
>>${ipfw} add 102 divert 8778 ip from any to 192.168.1.1 in via
>>rl1
>>${ipfw} add 108 divert 8668 ip from 192.168.0.0/24 to any out via
>>rl0
>>${ipfw} add 110 divert 8668 ip from any to 195.128.17.242 in via
>>rl0
>
>я вот чого подумал:
>1. Зачем указывать in или out ?Накладные расходы при обработке пакетов роутером с использованием natd
относительно большие. natd - это пока приложение , а не
составная часть ядра.
Зачем загружать natd заведомо бесполезной работой по обработке
пакетов для него не предназначенных?>2. Зачем указывать интерфейс? (у меня на интерфейсе алиас поднят, это не
>мешает или kxit указать конкрутный IP)В вашем случае все равно, потому что в другой части этого правила явно указаны
ip адреса, а не from any to any .
>3. правило fwd(№97) разве не должно идти после проверки принадлежности IP к
>списку (№100)Пакет уже был ранее обработан natd (divert 8778) и/или имеет ip адрес
192.168.1.1 . Ранее обработан natd потому, что все пакеты обработанные
приложением natd снова возвращаются в стек TCP/IP и проверка правил
ipfw начинается сначала. Сразу форвардим, зачем снова его напрвлять natd
(divert 8778)?Почитайте ссылки из моего предыдущего поста.
Тогда почему эти не работают?${ipfw} add 97 fwd 192.168.1.19 ip from 192.168.1.1 to any
${ipfw} add 98 skipto 103 all from 192.168.0.0/24 to 195.128.17.242
#${ipfw} add 99 skipto 103 all from 195.128.17.242 to 192.168.0.0/24
#Хотя, 99 правило здесь будет лишнее.
${ipfw} add 100 divert 8778 all from table\(3\) to not table\(2\) in via rl1
${ipfw} add 102 divert 8778 all from any to 192.168.1.1 in via rl1
${ipfw} add 108 divert 8668 all from 192.168.0.0/24 to any out via rl0
${ipfw} add 110 divert 8668 all from any to 195.128.17.242 in via rl0А эти работают?
#------------work rule
#${ipfw} add 100 divert 8778 all from table\(3\) to not table\(2\)
#${ipfw} add 101 fwd 192.168.1.19 all from 192.168.1.1 to any
#${ipfw} add 102 divert 8778 all from any to 192.168.1.1#${ipfw} add 108 divert 8668 all from 192.168.0.0/24 to any
#${ipfw} add 110 divert 8668 all from any to 195.128.17.242
#------------
>Тогда почему эти не работают?
>
>${ipfw} add 97 fwd 192.168.1.19 ip from 192.168.1.1 to anyМожно уточнить это правило
${ipfw} add 97 fwd 192.168.1.19 ip from 192.168.1.1 to any via rl1
>[оверквотинг удален]
>
>А эти работают?
>#------------work rule
>#${ipfw} add 100 divert 8778 all from table\(3\) to not table\(2\)
>#${ipfw} add 101 fwd 192.168.1.19 all from 192.168.1.1 to any
>#${ipfw} add 102 divert 8778 all from any to 192.168.1.1
>
>#${ipfw} add 108 divert 8668 all from 192.168.0.0/24 to any
>#${ipfw} add 110 divert 8668 all from any to 195.128.17.242
>#------------1. Мне не известно, что Вы поместили в table 2 и table 3 .
Может там надо сделать какие-то исключения , как в случае с 195.128.17.242 .
2. Промоделировать ваш файрволл у себя в полной мере я не могу и ,
вообщем, не собираюсь.
3. Читать документация по ссылкам, Вы тоже не желаете.>самое интересное, что у клиента не ходят пинги даже на внешний интерфейс и в tcpdump нет абсолютно никакой информации по поводу ICMP пакетов на внешний интерфейс (tcpdump снимался на внутреннем)
4. Где tcpdump'ы с внутренних, внешних и loopback интерфейсов ?
Включите в конце правил
${ipfw} add deny log all from any to any
Смотрите /var/log/security и tcpdump .
Ищите ошибки .
Кстати , в вашем случае,
используйте ipfw set атрибут для новых тестовых правил , если все делаете
на "живой" работающей системе.5. Из старого поста:
Надо внимательно читать man'ы ipfw(8), divert(4), natd(8) и форумы.Что касается правил в ipfw, то это Вы должны определить сами, в зависимости от
поставленных задач. Нет заранее определенного порядка правил.Другое дело, Вы должны понимать идеологию работы ipfw.
Если кратко про идеологию:
1. IP пакет приходящий на любой интерфейс , в том числе и lo0 , тестируется
последовательно всеми правилами ipfw , пока не получится совпадение.
2. При совпадении с IP пакетом делается то, что написано в правиле совпадения
(pass, deny, divert и т.д.)
3. Если пакет транзитом следует на другой интерфейс (по таблице роутинга),
чтобы покинуть роутер, то такой IP пакет должен пройти еще раз сначала все правила ipfw,
как исходящий пакет. Соответственно, повторяется п.2.
4. Если пакет не транзитный для роутера, то с учетом п.2 идет его обработка стеком
TCP/IP роутера.
5. Если пакет "рождается" в роутере и следует на исходящий интерфейс, в соответствии с
таблицей роутинга, то такой IP пакет должен пройти сначала все правила ipfw,
как исходящий пакет. Соответственно, повторяется п.2.Более подробно, только в man .
Рисуйте "черный ящик" - роутер с интерфейсами для наглядности представления.
Вот например, с тремя интерфейсами rl0,rl1,lo0 .
И смотрите, какие и как IP пакеты Вам необходимо транслировать и форвардить.
I----------I
rl0 I I rl1
<->I I<->
I I
I I->-I
I I I lo0
I I-<-I
I----------IПишите правила ipfw, если надо включаете log на отдельные правила.
Смотрите ipfw show
ipfw -d show
Включаете tcpdump -n -i интерфейс и смотрите все ли
правильно бегает. netstat -rn
ifconfig -auУдачи.
Тестировать не буду, но подскажу, где, возможно, ошибка.
/sbin/natd -p 8668 -a 195.128.17.242
/sbin/natd -p 8778 -a 192.168.1.1
-------------------------------------------${ipfw} add 97 fwd 192.168.1.19 ip from 192.168.1.1 to any
${ipfw} add 98 skipto 103 all from 192.168.0.0/24 to 195.128.17.242
#${ipfw} add 99 skipto 103 all from 195.128.17.242 to 192.168.0.0/24
#Хотя, 99 правило здесь будет лишнее.
${ipfw} add 100 divert 8778 all from table\(3\) to not table\(2\) in via rl1
${ipfw} add 102 divert 8778 all from any to 192.168.1.1 in via rl1
${ipfw} add 108 divert 8668 all from 192.168.0.0/24 to any out via rl0
${ipfw} add 110 divert 8668 all from any to 195.128.17.242 in via rl0Как я понимаю эти правила (поправьте если я не прав):
№97 перенаправлять пакеты на 192.168.1.19 если они пришли на 192.168.1.1 и в адресе назначения всё что угодно (но откуда оно узает что пришло на 192.168.1.1 если правило перенаправления стоит позже?).
№98 перебросить на №103 если в запросе от 192.168.0.0/24 указывается 195.128.17.242 (даже если правило 97 как-то узнало что перенапрлять, почему мы только сейчас ставим skipto)
№100 перенаправить в NAT 8778 входящие подключения от всех из таблицы 3 на ВСЕ адреса которые не указаны в таблице 2 через rl1
№102 далее перенаправлять в NAT 8778 всё что в него пришло (in) на 192.168.1.1 через rl1далее ехаем. правило №108 говорит NAT 8668 принимать всё от 192.168.0.0/24 если они хотят идти (out) куда угодно через интерфейс rl0 (внешний?). Но тут я так понял, что сработал первый нат и пакеты которые ушли на 192.168.1.1 уже сюда не попадают, поэтому работаем с тем, что осталось от первого ната.
№110 перенаправить на NAT 8668 все входящие (in) от любого источника на 195.128.17.242 через rl0
Но при этих правилах пользователи с таблицы 3, и те кто не в таблице, так и продалжают ходить в весь инет через 195.128.17.242. А должны только на ip которые в таблице 2.А эти работают?
#------------work rule
#${ipfw} add 100 divert 8778 all from table\(3\) to not table\(2\)
#${ipfw} add 101 fwd 192.168.1.19 all from 192.168.1.1 to any
#${ipfw} add 102 divert 8778 all from any to 192.168.1.1#${ipfw} add 108 divert 8668 all from 192.168.0.0/24 to any
#${ipfw} add 110 divert 8668 all from any to 195.128.17.242
#------------Эти правила такие же как предыдущее, только не конкретизрованы и fwd стоит после проверки кто-куда должен идти.
>${ipfw} add 97 fwd 192.168.1.19 ip from 192.168.1.1 to any${ipfw} add 97 fwd 192.168.1.19 ip from 192.168.1.1 to any via rl1
>[оверквотинг удален]
>rl1
>${ipfw} add 108 divert 8668 all from 192.168.0.0/24 to any out via
>rl0
>${ipfw} add 110 divert 8668 all from any to 195.128.17.242 in via
>rl0
>
>Как я понимаю эти правила (поправьте если я не прав):
>№97 перенаправлять пакеты на 192.168.1.19 если они пришли на 192.168.1.1 и в
>адресе назначения всё что угодно (но откуда оно узает что пришло
>на 192.168.1.1 если правило перенаправления стоит позже?).Пришли не на 192.168.1.1 , а пришли из 192.168.1.1 , пришли из NAT 8778 .
Пакет с источником в адресе 192.168.1.1 ( это внешний адрес NAT, natd 8778) должен быть
всегда отправлен на шлюз 192.168.1.19, кроме случая, если Вам захочестся
пинговать (взаимодействовать) с эти адресом из сети 192.168.0.0/24 .
Тогда надо добавить правила перед №97.Если же адрес 192.168.1.1 Вы будете использовать только,
как внешний адрес NAT, то перед правилом №97 ничего
добавлять не надо.Можно правило №97 переписать еще так:
${ipfw} add 97 fwd 192.168.1.19 ip from 192.168.1.1 to not 192.168.0.0/24 via rl1Все, но не к 192.168.0.0/24 .
Тогда думаю, что перед правилом №97 тоже ничего добавлять не надо.>№98 перебросить на №103 если в запросе от 192.168.0.0/24 указывается 195.128.17.242 (даже
>если правило 97 как-то узнало что перенапрлять, почему мы только сейчас
>ставим skipto)Зачем вам пакет из 192.168.0.0/24 направлять на divert?
195.128.17.242 поднят на интерфейсы этого же роутера.>№100 перенаправить в NAT 8778 входящие подключения от всех из таблицы 3
>на ВСЕ адреса которые не указаны в таблице 2 через rl1На выходе из NAT 8778 пакет будет уже с адресом в источнике 192.168.1.1 и
снова будет направлен в самое начало правил ipfw .
Дойдет до 97 правила и форвардится на 192.168.1.19.>№102 далее перенаправлять в NAT 8778 всё что в него пришло (in)
>на 192.168.1.1 через rl1Да, это обратный путь через 192.168.1.19 .
>далее ехаем. правило №108 говорит NAT 8668 принимать всё от 192.168.0.0/24 если
>они хотят идти (out) куда угодно через интерфейс rl0 (внешний?). Но
>тут я так понял, что сработал первый нат и пакеты которые
>ушли на 192.168.1.1 уже сюда не попадают, поэтому работаем с тем,
>что осталось от первого ната.Все что не попало в NAT 8778 , попадет в NAT 8668 , будет преобразовано
в пакет с источником в адресе 195.128.17.242.
Далее пакет из natd с источником в адресе 195.128.17.242 снова будет направлен в самое начало правил ipfw , и если правила ipfw позволят, покинет интерфей rl0 .
>№110 перенаправить на NAT 8668 все входящие (in) от любого источника на
>195.128.17.242 через rl0Да, это обратный путь через 195.128.17.242.
>Но при этих правилах пользователи с таблицы 3, и те кто не
>в таблице, так и продалжают ходить в весь инет через 195.128.17.242.
>А должны только на ip которые в таблице 2.Это не так . Еще раз читайте "философию" ipfw, divert, natd .
Каждый пакет, который напраляется в natd, обрабатывается им, потом снова
возвращается в начало правил ipfw , а не в то место правил, где произшел divert на
natd.>[оверквотинг удален]
>#${ipfw} add 100 divert 8778 all from table\(3\) to not table\(2\)
>#${ipfw} add 101 fwd 192.168.1.19 all from 192.168.1.1 to any
>#${ipfw} add 102 divert 8778 all from any to 192.168.1.1
>
>#${ipfw} add 108 divert 8668 all from 192.168.0.0/24 to any
>#${ipfw} add 110 divert 8668 all from any to 195.128.17.242
>#------------
>
>Эти правила такие же как предыдущее, только не конкретизрованы и fwd стоит
>после проверки кто-куда должен идти.
там я писал про топологию сети.
вот тот IP 192.168.1.19 являеться роутером (обчная мыльница DLINK). Возможно мне не нужно поднимать 2 NATа на основном сервере. Может можно ограничиться обычным форвардингом на роутер, а он пусть уже маршрутищирует то, что на него пришло?
и ещё одно не совсем к теме. разница между deny и drop? В ман написано, что оба запрещают пакет, но по логике deny даёт ответ отправителю пакета, что он заблокирован, а drop не отправляет никаких сведений - сообветственно уменьшая нагрузку за счет не генерирования ответного пакета. Я прав?
>и ещё одно не совсем к теме. разница между deny и drop?
>В ман написано, что оба запрещают пакет, но по логике deny
>даёт ответ отправителю пакета, что он заблокирован, а drop не отправляет
>никаких сведений - сообветственно уменьшая нагрузку за счет не генерирования ответного
>пакета. Я прав?deny / drop - это синонимы.
unreach code отправит ответ . Для него частично синонимом является reject,
который оправляет ответ unreach host.
>там я писал про топологию сети.
>вот тот IP 192.168.1.19 являеться роутером (обчная мыльница DLINK). Возможно мне не
>нужно поднимать 2 NATа на основном сервере. Может можно ограничиться обычным
>форвардингом на роутер, а он пусть уже маршрутищирует то, что на
>него пришло?Если DLINK натит и файрволит, то можно просто форвардинг, сменив его
192.168.1.19 на 192.168.0.19 для простоты.
>>там я писал про топологию сети.
>>вот тот IP 192.168.1.19 являеться роутером (обчная мыльница DLINK). Возможно мне не
>>нужно поднимать 2 NATа на основном сервере. Может можно ограничиться обычным
>>форвардингом на роутер, а он пусть уже маршрутищирует то, что на
>>него пришло?
>
>Если DLINK натит и файрволит, то можно просто форвардинг, сменив его
>192.168.1.19 на 192.168.0.19 для простоты.тогда правила изменят свою структуру на нечто такое:
${ipfw} add 101 fwd 192.168.0.19 all from table\(3\) to not table\(2\) to any
${ipfw} add 108 divert 8668 all from 192.168.0.0/24 to any
${ipfw} add 110 divert 8668 all from any to 195.128.17.242
правильно?
>[оверквотинг удален]
>>Если DLINK натит и файрволит, то можно просто форвардинг, сменив его
>>192.168.1.19 на 192.168.0.19 для простоты.
>
>тогда правила изменят свою структуру на нечто такое:
>
>${ipfw} add 101 fwd 192.168.0.19 all from table\(3\) to not table\(2\) to
>any
>${ipfw} add 108 divert 8668 all from 192.168.0.0/24 to any
>${ipfw} add 110 divert 8668 all from any to 195.128.17.242
>правильно?Ну, да.
>[оверквотинг удален]
>>Если DLINK натит и файрволит, то можно просто форвардинг, сменив его
>>192.168.1.19 на 192.168.0.19 для простоты.
>
>тогда правила изменят свою структуру на нечто такое:
>
>${ipfw} add 101 fwd 192.168.0.19 all from table\(3\) to not table\(2\) to
>any
>${ipfw} add 108 divert 8668 all from 192.168.0.0/24 to any
>${ipfw} add 110 divert 8668 all from any to 195.128.17.242
>правильно?Sorry. Поторопился.
${ipfw} add 101 fwd 192.168.0.19 all from table\(3\) to not table\(2\) in via rl1
>
>${ipfw} add 101 fwd 192.168.0.19 all from table\(3\) to not table\(2\) in
>via rl1Ок. Спасибо, попробую.
Ещё вопросик не совсем в тему.
у меня rc.firewall имеет такой вид:#!/bin/sh
ipfw="ipfw -q"
${ipfw} -f flush
ifextmir='rl0'
ifint='rl1'${ipfw} table 3 add 192.168.0.60
${ipfw} table 3 add 192.168.0.99
${ipfw} table 3 add 192.168.0.100
${ipfw} table 3 add 192.168.0.101
...
...
...
${ipfw} table 3 add 192.168.0.253
${ipfw} table 3 add 192.168.0.254
ну и дальше там всякие другие правила.1. Как мне можно включить файл с этим списком (таблица 3) в rc.firewall?
--------------------------------------
2. У меня есть такой скрипт, который обновляет список UA-IX сетей.#!/bin/sh
fetch http://colocall.net/uaix/prefixes.txt
cp prefixes.txt /tmp/
/sbin/ipfw table 2 flush
uanet=`cat /tmp/prefixes.txt`
for T1 in ${uanet};
do
ipfw table 2 add ${T1}
doneмогули я сделать такой же скрипт для внесения изменённого списка localIP без перезагрузки фаервола - netstart не подходит, потому как биллинг формирует в фаерволе ещё свои правила, и если запустить netstart то всe биллинговые правила падают.
#!/bin/sh
cp local_ip.txt /tmp/
/sbin/ipfw table 3 flush
local_ip=`cat /tmp/local_ip.txt`
for T1 in ${local_ip};
do
ipfw table 3 add ${T1}
doneПравильный скрипт? После выполнения этого скрипта, фаервол начнёт работать с новым списком 3, или у него в памяти останется старый список, и нужно будет перегружать систему?
>[оверквотинг удален]
>/sbin/ipfw table 3 flush
>local_ip=`cat /tmp/local_ip.txt`
>for T1 in ${local_ip};
> do
>ipfw table 3 add ${T1}
>done
>
>Правильный скрипт? После выполнения этого скрипта, фаервол начнёт работать с новым списком
>3, или у него в памяти останется старый список, и нужно
>будет перегружать систему?Зачем перегружать?
Вы сделали /sbin/ipfw table 3 flush
Загрузили таблицу 3
Осталось только посмотреть, что Вы загрузили
/sbin/ipfw table 3 listПо поводу правильности скрипта.
Лучше бы заменить эту часть, если в файле большой
local_ip=`cat /tmp/local_ip.txt`
for T1 in ${local_ip};
do
ipfw table 3 add ${T1}
doneНа типа
cat /tmp/local_ip.txt | \
while read T1
do
ipfw table 3 add ${T1}
done