помогите пожалуйста настроить шлюз:
надо чтобы было:
ASP Linux 11 с двумя сетевыми адаптерами
LAN eth0->192.168.2.39/24
WAN eth1->192.168.1.125(DHCP) отсюда идет на шлюз 192.168.1.1 где стоит сквид
текуший:
шлюз на pfSense(FreeBSD)
LAN eth0->192.168.2.1/24
WAN eth1->192.168.1.125(DHCP) все работает
проблема при тестировании сделал WAN eth1->192.168.1.2 не пингуется Windows машина ->192.168.1.1, хотя наоборот с винды пингуется Линух
вывод route -n
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0
читал на форуме показалось что это пустиковое дело:
1 изменить /etc/sysctrl.cof -> ...ip_forward=1
2 route add default gw 192.168.1.1 # это адресс центрального шлюза
проблема лишь в том что не пингуется 192.168.1.1?
[quote name=\'kima\' post=\'4932\' date=\'26.5.2009, 14:30\']192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0[/quote]
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0 вот дефолтный шлюз так что вот
извините забыл сказать что это Фряха на 192.168.2.1 работаюшая паралельно с Линухсом.
вобшем получается так что при вытащив кабель из Фряхи и вставив его в Линух делаю:
1 /sbin/ifconfig eth1 hw ether XX:X..... (привязка IP по MAC адресам)
2 route del default gw 192.168.2.1
3 route add default gw 192.168.1.1
4 cat /proc/sys/net/ipv4/ip_forward =>1
5 на локале ставлю шлюз на 192.168.2.39
и с любом локального компа нет пинга 192.168.1.1(соответственно нету инета)
кажется что проблема в том что с пакеты поступающие на LAN карту не попадают на WAN
как я понимаю структура маршрута такая: 192.168.2.0->192.168.2.39->192.168.1.125->192.168.1.1->Internet
ах да еще с локалки пинг идет на обе карты Линух машины т.е. бриджинг выпадает из круга подозреваемых?
Цитировать2 route del default gw 192.168.2.1
3 route add default gw 192.168.1.1
зачем два шлюза по умолчанию?
по идее надо просто добавить основной шлюз - модем
и маршрут для сети 192.168.2.0.24
route add -net 192.68.2.0 netmask 255.255.255.0 eth0
примерно так
[quote name=\'Vicpo\' post=\'4936\' date=\'26.5.2009, 10:17\']зачем два шлюза по умолчанию?[/quote]
просто нет возможности для теста вот и приходится на 1-2минуты вытаскивать кабель и заменять старый gw на новый
[root@server etc]# /sbin/route add -net 192.168.2.0 netmask 255.255.255.0 eth0
SIOCADDRT: Файл существует
route -n покажи
[codebox]Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0
[/codebox]
то что по две, это после
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth1
route add -net 192.168.2.0 netmask 255.255.255.0 dev eth0
[codebox][root@server etc]# /sbin/ip route list
192.168.2.0/24 dev eth0 scope link
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.39
192.168.1.0/24 dev eth1 scope link
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.125
169.254.0.0/16 dev eth1 scope link
default via 192.168.2.1 dev eth0
default via 192.168.1.1 dev eth1
[/codebox]
route del default gw 192.168.2.1
route add default gw 192.168.1.1
Смени дефолтный шлюз
так это из-за того что кабель обратно подключил к Фряхе(иначе в кабинете не будет инета)
а вывод команды ip route list показывает что есть и вторая gw и это действительно так: когда подключаю кабель к Линухсу вместо 192.168.2.1 пишется 192.168.1.1
к тому же заметил что маршрутизация с Линухса идет отлично(Инет работает) дело в том что локальные компы не видят 192.168.1.1(Главный шлюз) мне казалось что из-за бриджинга но когда вспомнил что обе сетевухи Линухса пингуется начал читать ман по бриджу и понял что это соединение двух кард в одно. (Кажется это то и нужно) как Вы думаете?
Попробуй пингануть из локальной сети интерфейс на линухе, который смотрит на модем, если пингует попробуй выполнить
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.1.125
и пингануть модем
как же не догодался NAT использовать.
СПАСИБО! РАБОТАЕТ!
Здравствуйте! У меня похожая ситуация, возникает уже не раз. И сейчас дома тоже хочу из машины работающей под Linux Mandriva сделать простой шлюз для выхода в инет второй машины под windows. На linux машине два сетевых адаптера один в инет смотрит другой в локалку к инету подключение осуществляется по utp. В общем ситуащия похожая но почему то linux видет винду ip-192.168.0.2 и прингует ее, а вот с win машины пинг линукса ip 192.168.0.1 не проходит, винда не видет этой машины. Даю вывод следующих команд:
[root@centr shiko]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.16.3.52 0.0.0.0 255.255.255.252 U 5 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 10 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 5 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 10 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 10.16.3.53 0.0.0.0 UG 5 0 0 eth1
[root@centr shiko]# /sbin/ip route list
10.16.3.52/30 dev eth1 proto kernel scope link src 10.16.3.54 metric 5
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.1 metric 10
169.254.0.0/16 dev eth1 scope link metric 5
169.254.0.0/16 dev eth0 scope link metric 10
127.0.0.0/8 dev lo scope link
default via 10.16.3.53 dev eth1 metric 5
подскажи те пожалуйста, почему происходит односторонний пинг и как это исправить.
вывод команды iptables -L
от рута естественно
вот пожалуйста:
[root@centr shiko]# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
Ifw all -- anywhere anywhere
eth1_in all -- anywhere anywhere
eth0_in all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Reject all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level info prefix `Shorewall:INPUT:REJECT:'
reject all -- anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
eth1_fwd all -- anywhere anywhere
eth0_fwd all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Reject all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level info prefix `Shorewall:FORWARD:REJECT:'
reject all -- anywhere anywhere
Chain OUTPUT (policy DROP)
target prot opt source destination
eth1_out all -- anywhere anywhere
eth0_out all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Reject all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level info prefix `Shorewall:OUTPUT:REJECT:'
reject all -- anywhere anywhere
Chain Drop (1 references)
target prot opt source destination
reject tcp -- anywhere anywhere tcp dpt:auth
dropBcast all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere icmp fragmentation-needed
ACCEPT icmp -- anywhere anywhere icmp time-exceeded
dropInvalid all -- anywhere anywhere
DROP udp -- anywhere anywhere multiport dports 135,microsoft-ds
DROP udp -- anywhere anywhere udp dpts:netbios-ns:netbios-ssn
DROP udp -- anywhere anywhere udp spt:netbios-ns dpts:1024:65535
DROP tcp -- anywhere anywhere multiport dports 135,netbios-ssn,microsoft-ds
DROP udp -- anywhere anywhere udp dpt:1900
dropNotSyn tcp -- anywhere anywhere
DROP udp -- anywhere anywhere udp spt:domain
Chain Ifw (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere set ifw_wl src
DROP all -- anywhere anywhere set ifw_bl src
IFWLOG all -- anywhere anywhere state INVALID,NEW psd weight-threshold: 10 delay-threshold: 10000 lo-ports-weight: 2 hi-ports-weight: 1 IFWLOG prefix 'SCAN'
Chain Reject (6 references)
target prot opt source destination
reject tcp -- anywhere anywhere tcp dpt:auth
dropBcast all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere icmp fragmentation-needed
ACCEPT icmp -- anywhere anywhere icmp time-exceeded
dropInvalid all -- anywhere anywhere
reject udp -- anywhere anywhere multiport dports 135,microsoft-ds
reject udp -- anywhere anywhere udp dpts:netbios-ns:netbios-ssn
reject udp -- anywhere anywhere udp spt:netbios-ns dpts:1024:65535
reject tcp -- anywhere anywhere multiport dports 135,netbios-ssn,microsoft-ds
DROP udp -- anywhere anywhere udp dpt:1900
dropNotSyn tcp -- anywhere anywhere
DROP udp -- anywhere anywhere udp spt:domain
Chain all2fw (0 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Reject all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level info prefix `Shorewall:all2fw:REJECT:'
reject all -- anywhere anywhere
Chain all2net (0 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Reject all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level info prefix `Shorewall:all2net:REJECT:'
reject all -- anywhere anywhere
Chain dropBcast (2 references)
target prot opt source destination
DROP all -- anywhere anywhere ADDRTYPE match dst-type BROADCAST
DROP all -- anywhere BASE-ADDRESS.MCAST.NET/4
Chain dropInvalid (2 references)
target prot opt source destination
DROP all -- anywhere anywhere state INVALID
Chain dropNotSyn (2 references)
target prot opt source destination
DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN
Chain dynamic (4 references)
target prot opt source destination
Chain eth0_fwd (1 references)
target prot opt source destination
dynamic all -- anywhere anywhere state INVALID,NEW
ACCEPT all -- anywhere anywhere
Chain eth0_in (1 references)
target prot opt source destination
dynamic all -- anywhere anywhere state INVALID,NEW
net2fw all -- anywhere anywhere
Chain eth0_out (1 references)
target prot opt source destination
fw2net all -- anywhere anywhere
Chain eth1_fwd (1 references)
target prot opt source destination
dynamic all -- anywhere anywhere state INVALID,NEW
ACCEPT all -- anywhere anywhere
Chain eth1_in (1 references)
target prot opt source destination
dynamic all -- anywhere anywhere state INVALID,NEW
net2fw all -- anywhere anywhere
Chain eth1_out (1 references)
target prot opt source destination
fw2net all -- anywhere anywhere
Chain fw2all (0 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Reject all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level info prefix `Shorewall:fw2all:REJECT:'
reject all -- anywhere anywhere
Chain fw2net (2 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
Chain logdrop (0 references)
target prot opt source destination
DROP all -- anywhere anywhere
Chain logreject (0 references)
target prot opt source destination
reject all -- anywhere anywhere
Chain net2fw (2 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Drop all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level info prefix `Shorewall:net2fw:DROP:'
DROP all -- anywhere anywhere
Chain reject (13 references)
target prot opt source destination
DROP all -- anywhere anywhere ADDRTYPE match src-type BROADCAST
DROP all -- BASE-ADDRESS.MCAST.NET/4 anywhere
REJECT tcp -- anywhere anywhere reject-with tcp-reset
REJECT udp -- anywhere anywhere reject-with icmp-port-unreachable
REJECT icmp -- anywhere anywhere reject-with icmp-host-unreachable
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain shorewall (0 references)
target prot opt source destination
Chain smurfs (0 references)
target prot opt source destination
RETURN all -- default anywhere
LOG all -- anywhere anywhere ADDRTYPE match src-type BROADCAST LOG level info prefix `Shorewall:smurfs:DROP:'
DROP all -- anywhere anywhere ADDRTYPE match src-type BROADCAST
LOG all -- BASE-ADDRESS.MCAST.NET/4 anywhere LOG level info prefix `Shorewall:smurfs:DROP:'
DROP all -- BASE-ADDRESS.MCAST.NET/4 anywhere
это что получается у меня стоит ipсhain а не iptables интересно, я думал в linux mandriva v2008.1 его уже не ставят.
Скажите, а можно как нибудь остановить работу ipchain и запустить iptables или между ними нет принципиальной разницы, просто я в основном читал про работу iptables так как он более новый сет.экран.
так правильно пинг то закрыт

/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' /> правило нужно создать в мандриве в shorewall, чтобы nat работал для локалки
В мандриве используется shorewall в качестве firewall, он и управляет правилами iptables
я тут поковырялся немного и вот что получается у меня iptables установлен, а в службах почему то выключен не помню чтоб я его вырубал и запустить его у меня не выходит!

/blink.gif\' class=\'bbc_emoticon\' alt=\':blink:\' />
Насчет правил я почитаю но как быть с неработающим iptables??? Как его запустить
Ничего не понимаю все вроде бы работает - это я про iptables.
Выполнил следующие команды:
Цитировать/sbin/service iptables restart
/sbin/chkconfig --level 345 iptables on
Захожу в drakconf проверяю "Включение и отключение системных сервисов" показывает iptables - выключен, даю команду iptables -L выдает всю таблицу. Я так думаю если бы айритейбл не работал то и команду бы он не выполнял, тогда почему показывает что он не работает. В чем может быть дело???
[quote name=\'Vicpo\' post=\'5114\' date=\'5.6.2009, 22:11\']В мандриве используется shorewall в качестве firewall, он и управляет правилами iptables[/quote]
Для кого писал?
Здравствуйте! Почитал про Shorewall, тема большая честно говоря не думал что сталкнусь с таким геморроем, но рано или поздно это произошло бы!

/blush.gif\' class=\'bbc_emoticon\' alt=\':blush:\' /> Скажите, а вот в документации там есть пример конфигурирования sharewall с двумя сет.интерфейсами у меня это все лежит здесь /usr/shaer/doc/shorewall-common/sampls/two-interfaces, где в наличии имеются файлы примеров. Мне можно их тупо скопировать (конечно с учетом своих подключений) в основные файлы shorewall, будет ли после этого работать shorewall как мне нужно? И еще вопрос в директории /etc/shorewall где размещены основные файлы фаервола есть makefile, для чего он нужен. Честно говоря не вник полностью, но мне что придется после внесения извинений в конфиги запускать его для компиляции shorewall -a или как?
ничего не надо пересобирать просто необходимо будет рестартануть службу shorewall и все
Все запустил шлюз!

/laugh.gif\' class=\'bbc_emoticon\' alt=\':lol:\' /> Благодарю за помощь!!!
Для тех кто наступит на эти грабли коротко расскажу, как я победил эту проблему. Все конфиги shorewall-a лежат здесь: /etc/shorewall. Идем в раздел где лежат в качестве примера уже сконфигурированные файлы для shorewall-а, у меня они лежат здесь: /usr/share/doc/shorewall-common/samples/two-interfaces. Далее перебиваем файлы в /etc/shorewall в точности как показано в образцах, только не забудьте внести поправки на сет.адаптеры lan & nat у вас выход в локалку и в инет может быть другим. Даем команду # shorewall rеtstart и идем прописывать ip-адреса.
Если что смотрите доп.инфу в прикрепленном файле.
Vicpo подскажите пожалуйста, дело в том что после запуска шлюза с учетом внесенных изменений у меня линукс в инет не может попасть, я конечно понимаю, что самому сетевому экрану это вроде бы нафик не нужно (противоречит безопасности), но все таки можно как нибудь открыть доступ?
конечно можно, просто правило добавить, что с локалхоста можно ходит везде и все
Да вот в том то и дело, что вреде читал когда делал и все вроде бы понятно, а вот вчера и сегодня сижу и не как не могу угадать с этими параметрами, чтоб открыть шлюз для инета! Вроде все испробовал, все пингуется инет на винду идет без проблем, а вот на шлюзе нет, хоть ты лопни!
в файле policy исправил строку на:
Цитироватьnet all ACCEPT
результат был отрицательный.
Может с файлом rules попробовать, тока я не пойму, что там на что менять, подскажите пожалуйста!
Там в правилах к примеру на разрешения пинга в локалке есть такая строка:
ЦитироватьPing/ACCEPT loc $FW
т.е таможня дает дабро на пинг внутри локальной сети, а как мне составить правило чтобы шлюз мог ходить в инет не пойму, что то???
в файле policy первое правило fw net ACCEPT
Все инет пошел СПАСИБО!!!

/laugh.gif\' class=\'bbc_emoticon\' alt=\':lol:\' /> И вообще на мой взгляд с shorewall оказывается работать намного проще чем напрямую с iptables.
Здравствуйте! Как продолжение разговора по данной теме хочу спросить. Вот у меня возникла такая ситуация я на линуксе на котором настраивал shorewall запустил samba для организации взаимодействия между виндой, я делал уже это и все работало, а тут не пойму в чем дело. Виндос видет в сети линукс, а линукс win машину нет. Хотя должно быть на оборот. До настройки shorewall я проверял сеть и линукс видел винду и расшареные на ней ресурс, а сейчас несмотря что я все сделал (завел пользователя, открыл и расшарил ресурс на линуксе) все равно я не вижу виндойс машину а с венды не могу зайти на линукс. Скажите это может быть причиной настройки shorewall или нет.
При попытке зайти с линукса через ресурсы самба на винду выдает следующее сообщение об ошибке: НЕ УДАЕТСЯ НАЙТИ РАБОЧИЕ ГРУППЫ В ВАШЕЙ ЛОКАЛЬНОЙ СЕТИ. ВОЗМОЖНО ЭТОМУ ПРЕПЯТСТВУЕТ БРАНДМАУЭР.
fw net ACCEPT
замени на fw all ACCEPT
в policy и попробуй если увидит линь винду то останется открыть порты 139 и 445 для внутренней сети
Да спасибо я честно говоря допер помаленьку и поставил fw loc ACCEPT и все стало на свои места с линукса захожу на винду, а вот только с винды зайти на линукс не получается (говорит у вас нет прав на использование этого сетевого ресурса), что может быть как вы думаете? пользователя я завел и пароль дал. Если это порты то я честно говоря не совсем въехал как их открыть

/blink.gif\' class=\'bbc_emoticon\' alt=\':blink:\' />
loc fw ACCEPT
В shorewall правлю файл /etc/shorewall/rules , где указываю какие порты открыть во внутренней сети, вот содержимое файла:
##############
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE
USER/ MARK
# PORT PORT(S) DEST LIMIT GROUP
DNS/ACCEPT $FW net
SSH/ACCEPT loc $FW
Ping/ACCEPT loc $FW
Ping/REJECT net $FW
CCEPT loc $FW tcp 139
CCEPT loc $FW tcp 445
ACCEPT $FW loc icmp
ACCEPT $FW net icmp
#SECTION ESTABLISHED
#SECTION RELATED
#INCLUDE rules.drakx
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
у меня вопрос почему когда я пытаюсь рестаретовать shorewall у меня выдает ошибку, как только комментирую эти строки с портами 139 и 445 ошибка пропадает, что вызывает ошибку не пойму я все вроде правильно сделал. Я приотачил файл с содержимым файла rules т.к происходит некоректное отображение строк
ФУХ! Все сделал! НЕ долго мучился плюнул и сделал через drakconf-Безопасность-Настройка фаервола поставил галочку на smb и все заработало как часики. А изменение в конфигах shorewall произошли вот в этом файле /etc/shorewall/rules.drakx сейчас у меня он выглядит так:
ЦитироватьACCEPT net fw udp 137,138,139 -
ACCEPT net fw tcp 80,443,22,20,21 -
Vicpo спасибо за помощь!!!

/biggrin.gif\' class=\'bbc_emoticon\' alt=\':D\' />
Здравствуйте! Скажите пожалуйста можно как нибудь избавиться от постоянных уведомлений от фаервола в треи (каждый раз когда происходит подключение службы netbios-dgm), раздражает немного!

/wacko.gif\' class=\'bbc_emoticon\' alt=\':wacko:\' />
помогите люди настроить маршрутизацию в бубунте, чтобы при старте системы правильно писались маршруты.
вот должна быть такая таблица
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.0 192.168.20.1 255.255.0.0 UG 0 0 0 eth1
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth2
прописал в /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.10.10.1
netmask 255.255.255.0
auto eth1
iface eth1 inet dhcp
up route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.20.1 eth1 metric 200
auto eth2
iface eth2 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
а вот что получается при перезагрузке
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.20.1 0.0.0.0 UG 100 0 0 eth1
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth2
Не будет работать - два шлюза по умолчанию.
Читай синтаксис файл /etc/sysconfig/network
я вижу что не работает, точнее работает, хоть с десятью шлюзами по-умолчанию, но ходит в тот, что первый в таблице. так-то.
почему появляется два дефолтных маршрута, если в конфиге указан только один - gateway 192.168.1.1. видимо второй прилетает по dhcp. хммм, пошел перечитывать man
Если из DHCP тогда надо выполнять команду на удаления этого шлюза.
спасибо, помогло:
cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.10.10.1
netmask 255.255.255.0
auto eth1
iface eth1 inet dhcp
up route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.20.1 eth1
up route del default
auto eth2
iface eth2 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
я вот никак не пойму...
у меня сейчас поднят NAT и полный форвардинг между локалкой и внешкой
iptables -t filter -A FORWARD -i eth0 -o eth2 -j ACCEPT
iptables -t filter -A FORWARD -i eth2 -o eth0 -j ACCEPT
для http трафика он не нужен, ибо все ходят через прокси, но для почты и некоторых других сервисов нужен форвардинг...
так вот, я подумал что дыра все подряд форвардить, прописал так
iptables -t filter -A FORWARD -i eth0 -p tcp -m multiport --destination-port 22,25,110,143,465,587,993 -o eth2 -j ACCEPT
iptables -t filter -A FORWARD -i eth2 -p tcp -m multiport --destination-port 22,25,110,143,465,587,993 -o eth0 -j ACCEPT
но нифига не ходит почта. ни pop, ни imap
у меня чуйство что я сильно не пониаю чего-то
судя по выводу tcpdump при получении почты с imap программой thunderbird
tcpdump -n
.....
14:32:37.349484 IP 10.10.10.4.36799 > 74.125.93.16.993: . ack 51777 win 1008 <nop,nop,timestamp[|tcp]>
14:32:37.526986 IP 74.125.93.16.993 > 10.10.10.4.36802: . ack 875 win 106 <nop,nop,timestamp[|tcp]>
.....
надо еще форвардить на внутрь 36802 порт и вообще все подряд порты, какие вздумается программам
и опять недосмотрел. проблема решилась так:
iptables -t filter -A FORWARD -i eth0 -p tcp -m multiport --destination-port 22,25,110,143,465,587,993 -o eth2 -j ACCEPT
iptables -t filter -A FORWARD -i eth2 -p tcp -m multiport --source-port 22,25,110,143,465,587,993 -o eth0 -j ACCEPT