gateway bin # ip rule
0: from all lookup local
32742: from all fwmark 0x1e lookup T2
32743: from all fwmark 0x15 lookup T2
32744: from all fwmark 0x14 lookup T2
32745: from 194.44.77.85 lookup T2
32766: from all lookup main
32767: from all lookup default
gateway bin # ip route list table T2
192.168.1.0/24 dev eth0 scope link src 192.168.1.232
127.0.0.0/8 dev lo scope link
default via 194.44.77.65 dev eth2
gateway ~ # ip route
195.5.5.206 dev ppp0 proto kernel scope link src 82.207.108.130
194.44.77.64/27 dev eth2 proto kernel scope link src 194.44.77.85
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.232
127.0.0.0/8 dev lo scope link
default via 195.5.5.206 dev ppp0# proxy
iptables -A FORWARD -s 192.168.1.125 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -t nat -A POSTROUTING -o eth2 -s ! 194.44.77.85 -j SNAT --to-source 194.44.77.85
ребята подскажите почему NAT не работает? где намутил?
есть два канала земля и воздух, так вот локалку нужно пускать по воздуху это .77.85 сейчас работает только если NATит на землю тоесть такiptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j SNAT --to-source 82.207.108.130
исходящий трафик сервера нормально заруливает по воздуху, я туда 80,21 порты запустил, а вот с локалкой беда...
забыл сказать что локальный трафик маркируется...iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 20
iptables -t mangle -A OUTPUT -p tcp --dport 443 -j MARK --set-mark 21
iptables -t mangle -A OUTPUT -p tcp --dport 21 -j MARK --set-mark 30уже думал что и на форвардинге маркировать но вроде ничего не изменило
iptables -t mangle -A FORWARD -p tcp --dport 80 -j MARK --set-mark 20
iptables -t mangle -A FORWARD -p tcp --dport 443 -j MARK --set-mark 21
iptables -t mangle -A FORWARD -p tcp --dport 21 -j MARK --set-mark 30
>[оверквотинг удален]
>32744: from all fwmark 0x14 lookup T2
>32745: from 194.44.77.85 lookup T2
>32766: from all lookup main
>32767: from all lookup default
>
>
>gateway bin # ip route list table T2
>192.168.1.0/24 dev eth0 scope link src 192.168.1.232
>127.0.0.0/8 dev lo scope link
>default via 194.44.77.65 dev eth2глядя на это, eth0 - интерфес локалки
eth2 - интерфейс смотрящий на провайдера
смотрив ниже на правило NATа>gateway ~ # ip route
>195.5.5.206 dev ppp0 proto kernel scope link src 82.207.108.130
>194.44.77.64/27 dev eth2 proto kernel scope link src 194.44.77.85
>192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.232
>127.0.0.0/8 dev lo scope link
>default via 195.5.5.206 dev ppp0это видимо воздух?
># proxy
>iptables -A FORWARD -s 192.168.1.125 -j ACCEPT
>iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPTфорвад я так понял для той машины с которой тестишся, остальные правила не показываешь
==================
>
>iptables -t nat -A POSTROUTING -o eth2 -s ! 194.44.77.85 -j SNAT --to-source 194.44.77.85iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to-source 194.44.77.85
вот так по красивее
но трафик чтоб попасть на eth2 должен пройти таблицу Т2
т.е. промаркироватся, смотрим ниже
>ребята подскажите почему NAT не работает? где намутил?
>есть два канала земля и воздух, так вот локалку нужно пускать по воздуху это .77.85 >сейчас работает только если NATит на землю тоесть так
>
>iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j SNAT --to-source 82.207.108.130если eth0 - локалка, то это правило - бред видимо сдесь нужно ррр0
>
>исходящий трафик сервера нормально заруливает по воздуху, я туда 80,21 порты >запустил, а вот с локалкой беда...========================================================
>забыл сказать что локальный трафик маркируется...
>
>iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark
>20
>iptables -t mangle -A OUTPUT -p tcp --dport 443 -j MARK --set-mark
>21
>iptables -t mangle -A OUTPUT -p tcp --dport 21 -j MARK --set-mark
>30это маркируются пакеты самого сервера
чтоб промаркировать пакеты локалки используй цепочку PREROUTING
FORWARD не маркируй
>[оверквотинг удален]
>
>уже думал что и на форвардинге маркировать но вроде ничего не изменило
>
>
>iptables -t mangle -A FORWARD -p tcp --dport 80 -j MARK --set-mark
>20
>iptables -t mangle -A FORWARD -p tcp --dport 443 -j MARK --set-mark
>21
>iptables -t mangle -A FORWARD -p tcp --dport 21 -j MARK --set-mark
>30
eth1->ppp0 земля
eth2 - воздух
eth0 - локалка>iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j SNAT --to-source 82.207.108.130
если eth0 - локалка, то это правило - бред видимо сдесь нужно рpp0
да тут ошибка просто у меня переменные и что бы Вас не путать менял их на реальные интерфейсы...
Блин спасибо!
Я о маркировке PREROUTING не подумал... все вроде бегает сейчас...И еще вопрос в догонку как сделать автоматический переброс канал на землю если пропадает воздух, где-то читал о двух маршрутах по умолчанию и задании веса маршрутам.. и это дело надо добавить в таблицу T2
>[оверквотинг удален]
>путать менял их на реальные интерфейсы...
>
>
>Блин спасибо!
>Я о маркировке PREROUTING не подумал... все вроде бегает сейчас...
>
>И еще вопрос в догонку как сделать автоматический переброс канал на землю
>если пропадает воздух, где-то читал о двух маршрутах по умолчанию и
>задании веса маршрутам.. и это дело надо добавить в таблицу T2
>ну да, и автоматом убирать правило маркировки, а как появляется канал добавлять правила
блин головная боль, я сделал проще, дал пользователям возможность выбирать канал
накрапал вэб морду с выбором канала, выбрал воздух по нажатию кнопки ОК добавляются нужные правила, если инет не бегает - закрывает эту сессию и открывает канал по земле, соответственно те правила удаляются а новые добавляются
Еще вопрос как пробросить порт наружу?
Делаю такiptables -t nat -A PREROUTING -p tcp -i 194.44.77.85 --dport 5555 -j DNAT --to-destination
192.168.1.125:5555на локальной машине порт висит, наружу его не видно...
>Еще вопрос как пробросить порт наружу?
>Делаю так
>
>iptables -t nat -A PREROUTING -p tcp -i 194.44.77.85 --dport 5555 -j
>DNAT --to-destination
>192.168.1.125:5555
>
>на локальной машине порт висит, наружу его не видно...Все разобрался...