Конечно, неправильно. Ну а кто же вас заставляет это делать? Может быть, я ошибаюсь, но вроде бы можно было раздавать роуты по DHCP. Но хотя с ADSL роутером не факт что получится.
Вы лучше вот что скажите: на работе вместо ADSL-роутера стоит обычный комп? И как там устроена сеть?
Есть ведь еще вот какая идея: скорее всего в той сети, в которой расположен роутер, все между компами идут именно через роутер. В этом разница с нормальной сетью со свичами и хабами.
На работе сеть 255.255.255.0, забитая до предела, причем используемая разными отделами в разных целях - поэтому и стал делать шлюз, чтобы в будущем разделить отделы по подсетям, каждый за своим роутером с прокси. Заодно и трафик считать легче, и задавать "обрезку" контента.
Значит, сеть эта смотрит в инет через шлюз на фряхе со сквидом (192.168.5.118). В перспективе "юзерских" компов в ней не будет (все будут за шлюзами в своих сетях). Шлюз на фряхе делал не я, и не особо хочется в него лезть - работает

"мой" шлюз (eth1 - "внешняя", eth0 - будущая локалка):
root@srv-1:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:02:b3:51:04:b6
inet addr:172.16.0.1 Bcast:172.16.255.255 Mask:255.255.0.0
inet6 addr: fe80::202:b3ff:fe51:4b6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2204 errors:0 dropped:0 overruns:0 frame:0
TX packets:3395 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:389833 (380.6 KB) TX bytes:1235585 (1.1 MB)
Base address:0x2460 Memory:fc320000-fc340000
eth1 Link encap:Ethernet HWaddr 00:02:b3:51:04:b5
inet addr:192.168.5.250 Bcast:192.168.5.255 Mask:255.255.255.0
inet6 addr: fe80::202:b3ff:fe51:4b5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1530536 errors:0 dropped:0 overruns:0 frame:0
TX packets:148082 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:249555189 (237.9 MB) TX bytes:42151097 (40.1 MB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:41769 errors:0 dropped:0 overruns:0 frame:0
TX packets:41769 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:12134209 (11.5 MB) TX bytes:12134209 (11.5 MB)
iptables пока пустые, везде ACCEPT. Поднят dhcp и squid. Клиентам dhcp раздаёт шлюз и DNS 172.16.0.1. Сегодня началась такая же фигня, как и дома: пинг из "локалки" вовне перестал проходить, хотя через проксю инет идёт нормально.
Кстати, ламерный вопрос: не очень понятен механизм прохождения запросов на DNS. В нынешней локалке DNS'ом прописан фряшный 192.168.5.118, своему шлюзу я сказал давать клиентам себя как DNS. Т.е. запрос от клиента, например, 172.16.0.10, проходит на шлюз 172.16.0.1, передаётся с его внешнего интерфейса на шлюз 192.168.5.118, дальше не суть важно. Так вот, чем он передаётся через мой шлюз? На данный момент браузер клиента с прописанным прокси 172.16.0.1:3128 спокойно ходит в инет, но пинг, например, на yandex.ru - не проходит.
Пинг обоих интерфейсов шлюза из "локалки" проходит, дальше - никак.
ЗЫ Понял для себя, что температурить и работать одновременно не есть хорошо

Но надо...
------------------------------
LATER:
Покурил маны

На работе всё завелось: доступ из "новой" локалки в "старую" и прозрачный Сквид.
Для доступа к "внешней" локалке пришлось делать SNAT:
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- anywhere anywhere to:192.168.5.250
Правда, теперь в недоумении, как при необходимости обратиться из "внешней" сети к нужному компу во "внутренней" (чует моё что-то, это несложно, но туплю/нуб/прочее).
Заворот на прозрачный прокси на самом деле выглядит совсем не так, как в первом посте:
# iptables -t nat -A PREROUTING -s 172.16.0.0/16 -p udp -m multiport --dport 53,80,81,82,83,88,5190,8000,8001,8002,8080,8081 -j REDIRECT --to-port 3128
# iptables -t nat -A PREROUTING -s 172.16.0.0/16 -p tcp -m multiport --dport 53,80,81,82,83,88,5190,8000,8001,8002,8080,8081 -j REDIRECT --to-port 3128
При этом теряется DNS, и на сайты можно заходить только по IP. Так как DNS не поднимал, завернул запросы на фряшный шлюз:
# iptables -t nat -I PREROUTING -s 172.16.0.0/16 -p udp -m multiport --dport 53 -j DNAT --to-destination 192.168.5.118
# iptables -t nat -I PREROUTING -s 172.16.0.0/16 -p tcp -m multiport --dport 53 -j DNAT --to-destination 192.168.5.118
Итого, что в iptables:
root@srv-1:/etc/squid# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- 172.16.0.0/16 anywhere multiport dports domain to:192.168.5.118
DNAT udp -- 172.16.0.0/16 anywhere multiport dports domain to:192.168.5.118
REDIRECT tcp -- 172.16.0.0/16 anywhere multiport dports domain,www,81,82,83,kerberos,aol,8000,8001,8002,webcache,tproxy redir ports 3128
REDIRECT udp -- 172.16.0.0/16 anywhere multiport dports domain,www,81,82,83,kerberos,aol,8000,8001,8002,8080,8081 redir ports 3128
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- anywhere anywhere to:192.168.5.250
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Теперь всё работает. На работе

Дома ещё не разбирался...