Но нифига не получается. Сразу после загрузки, пока интернета нет, всё работает благодаря кошерно прописанным route и SNAT-у:
Код: Выделить всё
[root@topka UPLOAD]# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT 0 -- anywhere anywhere to:10.<мой внешний айпишнег в локалке>
Chain OUTPUT (policy ACCEPT)
target prot opt source destinationПотом я поднимаю инет следующим скриптом :
Код: Выделить всё
pppd call provider
sleep 5
route add default dev ppp0И всё обваливается: на соседнюю машину перестаёт идти локалка, а у меня вообще ужос: ping ya.ru - тишина, а если что-нибудь из локалки, то
Код: Выделить всё
[root@topka ~]# ping 10.49.0.1
PING 10.49.0.1 (10.49.0.1) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permittediptables -F помогает, но для серой подсети локалка, естественно, не рабит.
Пробовал и так и эдак. Заметил следующие факты:
- Локалка для второго компа отваливается после команды pppd call provider, т.е., как я понял, pppd портит какие-то сетевые настройки.
- Если при поднятом интерфейсе ppp0 (тот, что создаёт pppd) попробовать удалить все правила и заново добавить SNAT, то локалка по-прежнему на втором компе не пашет, да ещё и у меня в ответ на ping ya.ru тишина...
- если же добавить маскарадинг, то у меня вроде всё нормально, но локалка по-прежнему не раздаётся.
З.Ы. Чуть не забыл, по умолчанию все policy уже поставил на ACCEPT, так что проблемы не из-за этого...