Доброго дня всем. Сразу оговорюсь, что новичок и надеюсь попал в нужную ветку.
Предисловие.
Итак, картина следующая: возникла необходимость поднять шлюз на Linux. Выбрал Mint основанный на Debian. Есть 2 карты:
eth1 - будет выходить в инет, eth3 - будет выходить в локалку. Сразу поясню почему "будет". На данный момент есть INET <- ADSL-модем <- HUB <- LAN <- MINT <- WinXP. Модем настроен роутером. Так сделано в целях тестирования без постоянной ковырни с перетыканием кабелей из без создания помех в работе головного офиса и подключающихся из области клиентов. Естественно после того как будет отлажена работа шлюза схема примет вид: INET <- ADSL-модем <- MINT <- HUB <- LAN. Т.е. по сути, на данный момент комп с XP выполняет модель будущей локалки.
Cетевой интерфейс eth3 настроен так:
ip 192.168.0.155
mask 255.255.255.0
более параметров не прописано.
И собственно говоря вопрос:
Имеется проблема - не пингуется с компьютера WinXP компьютер с Linux. C Linux пинг идёт до WinXP. В окне FireStarter так же отсутствует видимая активность машины с WinXP. В чём может быть причина? Фаервол?
Доброго дня всем. Сразу оговорюсь, что новичок и надеюсь попал в нужную ветку.
Предисловие.
Итак, картина следующая: возникла необходимость поднять шлюз на Linux. Выбрал Mint основанный на Debian. Есть 2 карты:
eth1 - будет выходить в инет, eth3 - будет выходить в локалку. Сразу поясню почему "будет". На данный момент есть INET <- ADSL-модем <- HUB <- LAN <- MINT <- WinXP. Модем настроен роутером. Так сделано в целях тестирования без постоянной ковырни с перетыканием кабелей из без создания помех в работе головного офиса и подключающихся из области клиентов. Естественно после того как будет отлажена работа шлюза схема примет вид: INET <- ADSL-модем <- MINT <- HUB <- LAN. Т.е. по сути, на данный момент комп с XP выполняет модель будущей локалки.
Cетевой интерфейс eth3 настроен так:
ip 192.168.0.155
mask 255.255.255.0
более параметров не прописано.
И собственно говоря вопрос:
Имеется проблема - не пингуется с компьютера WinXP компьютер с Linux. C Linux пинг идёт до WinXP. В окне FireStarter так же отсутствует видимая активность машины с WinXP. В чём может быть причина? Фаервол?
Какой IP на Win XP?
Кабель нормальный и правильно расплунжерованный?
Настройки фаервола сбросил разрешив весь трафик через Webmin 1.59.
"CyberDaemon" написал:
Какой IP на Win XP?
Кабель нормальный и правильно расплунжерованный?
Кабель в порядке - проверял подключая в хаб непосредственно общей локалки. IP винды 192.168.0.189. Маска 255.255.255.0. Шлюзом выставляю Eth3 т.е. 192.168.0.155.
зачем? у вас одна сеть,и все адреса лежат в одном диапазоне, шлюз прописать не нужен.
"volozub" написал:
весь трафик через Webmin 1.59.
жестока как то, хотя применимо, я ни когда не понимал как iptables работает через webmin, как то криво он там реализован, хотя может сейчас все поправили уже. Без webmin ни как?
[quote="volozub"] Шлюзом выставляю Eth3 т.е. 192.168.0.155.
зачем? у вас одна сеть,и все адреса лежат в одном диапазоне, шлюз прописать не нужен.
[/quote]
разве это суть? со шлюзом или нет пинга не наблюдается. Хотя что интересно, обе карты видятся из локалки IP-сканером каким-нить и у обеих карт один MAC-адрес.
i2ks написал:
[quote="volozub"] весь трафик через Webmin 1.59.
жестока как то, хотя применимо, я ни когда не понимал как iptables работает через webmin, как то криво он там реализован, хотя может сейчас все поправили уже. Без webmin ни как?[/quote]
ну я думаю, ты сам ответишь на свой вопрос, если вспомнишь что я не Торвальдс Линус ;)
Естественно хочется удобства, и согласись гораздо удобнее разобраться с чем-то если это наглядно.
правила iptables сами писали???
Поставте на время эксперимента политику INPUT ACCEPT и посмотрите будут ли идти пинги
О природе происхождения этих правил не имею представления.
Как я понял нужно было выполнить sudo iptables -P INPUT ACCEPT. Ниже привожу листинг списка правил после выполнения и перезагрузки. Не до ни после перезагрузки пинга нет. Может имеет смысл выполнить очистку правил (iptables -F)? Обнулить все цепочки?
Показать
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT DROP
-N INBOUND
-N LOG_FILTER
-N LSI
-N LSO
-N OUTBOUND
-A INPUT -s 80.80.111.254/32 -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -s 80.80.111.254/32 -p udp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m limit --limit 10/sec -j ACCEPT
-A INPUT -d 255.255.255.255/32 -i eth1 -j DROP
-A INPUT -d 192.168.0.255/32 -j DROP
-A INPUT -s 224.0.0.0/8 -j DROP
-A INPUT -d 224.0.0.0/8 -j DROP
-A INPUT -s 255.255.255.255/32 -j DROP
-A INPUT -d 0.0.0.0/32 -j DROP
-A INPUT -m state --state INVALID -j DROP
-A INPUT -f -m limit --limit 10/min -j LSI
-A INPUT -i eth1 -j INBOUND
-A INPUT -d 192.168.0.155/32 -i eth3 -j INBOUND
-A INPUT -d 192.168.0.151/32 -i eth3 -j INBOUND
-A INPUT -d 192.168.0.255/32 -i eth3 -j INBOUND
-A INPUT -j LOG_FILTER
-A INPUT -j LOG --log-prefix "Unknown Input" --log-level 6
-A FORWARD -p icmp -m limit --limit 10/sec -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -i eth3 -j OUTBOUND
-A FORWARD -d 192.168.0.0/24 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.0.0/24 -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j LOG_FILTER
-A FORWARD -j LOG --log-prefix "Unknown Forward" --log-level 6
-A OUTPUT -s 192.168.0.151/32 -d 80.80.111.254/32 -p tcp -m tcp --dport 53 -j ACCEPT
-A OUTPUT -s 192.168.0.151/32 -d 80.80.111.254/32 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -s 224.0.0.0/8 -j DROP
-A OUTPUT -d 224.0.0.0/8 -j DROP
-A OUTPUT -s 255.255.255.255/32 -j DROP
-A OUTPUT -d 0.0.0.0/32 -j DROP
-A OUTPUT -m state --state INVALID -j DROP
-A OUTPUT -o eth1 -j OUTBOUND
-A OUTPUT -o eth3 -j OUTBOUND
-A OUTPUT -j LOG_FILTER
-A OUTPUT -j LOG --log-prefix "Unknown Output" --log-level 6
-A INBOUND -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INBOUND -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INBOUND -j LSI
-A LSI -j LOG_FILTER
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -j DROP
-A LSI -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p icmp -m icmp --icmp-type 8 -j DROP
-A LSI -m limit --limit 5/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -j DROP
-A LSO -j LOG_FILTER
-A LSO -m limit --limit 5/sec -j LOG --log-prefix "Outbound " --log-level 6
-A LSO -j REJECT --reject-with icmp-port-unreachable
-A OUTBOUND -p icmp -j ACCEPT
-A OUTBOUND -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTBOUND -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTBOUND -j ACCEPT
mint ~ # iptables -F PREROUTING
iptables: No chain/target/match by that name.
mint ~ # iptables -F POSTROUTING
iptables: No chain/target/match by that name.
mint ~ # iptables -F INPUT
mint ~ # iptables -F OUTPUT
mint ~ # iptables -F FORWARD
mint ~ # iptables -P INPUT ACCEPT
mint ~ # iptables -P OUTPUT ACCEPT
mint ~ # iptables -P FORWARD ACCEPT
была похожая ситуация, помогло добавление (не знаю как это называется) в Windows
в cmd
text
arp -s ip mac
где Ip - ip адрес Linux машины mac - mac адрес Linux машины
только если не поможет, или соберетесь ставить железо с другим мак адресом не забудьте удалить это правило
Святой бубен не так уж и плох.... Появился пинг. Заметил закономерность - при добавлении в шлюз 0.0.0.0 появляется пинг. При текущих настройках инет всё равно не работает на машине с WinXP, причём если руками не вписывать его и строка пуста то пинга нет:
При выключении компьютера сбрасываются все правила в iptables, поэтому делается скрипт который их восстанавливает.
У меня(на debian) это сделано так в /etc/network/interfaces добавлена строка
Господа, я в замешательстве, всё же помогите разобраться.
1. По поводу iptables. на данный момент в системе как я понимаю имеют силу следующие правила:
iptables -S
Показать
iptables -S
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT DROP
-N INBOUND
-N LOG_FILTER
-N LSI
-N LSO
-N OUTBOUND
-A INPUT -s 80.80.111.254/32 -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT -s 80.80.111.254/32 -p udp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m limit --limit 10/sec -j ACCEPT
-A INPUT -d 255.255.255.255/32 -i eth1 -j DROP
-A INPUT -d 192.168.0.255/32 -j DROP
-A INPUT -s 224.0.0.0/8 -j DROP
-A INPUT -d 224.0.0.0/8 -j DROP
-A INPUT -s 255.255.255.255/32 -j DROP
-A INPUT -d 0.0.0.0/32 -j DROP
-A INPUT -m state --state INVALID -j DROP
-A INPUT -f -m limit --limit 10/min -j LSI
-A INPUT -i eth1 -j INBOUND
-A INPUT -d 192.168.1.121/32 -i eth3 -j INBOUND
-A INPUT -d 192.168.0.151/32 -i eth3 -j INBOUND
-A INPUT -d 192.168.1.255/32 -i eth3 -j INBOUND
-A INPUT -j LOG_FILTER
-A INPUT -j LOG --log-prefix "Unknown Input" --log-level 6
-A FORWARD -p icmp -m limit --limit 10/sec -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -i eth3 -j OUTBOUND
-A FORWARD -d 192.168.1.0/24 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.1.0/24 -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j LOG_FILTER
-A FORWARD -j LOG --log-prefix "Unknown Forward" --log-level 6
-A OUTPUT -s 192.168.0.151/32 -d 80.80.111.254/32 -p tcp -m tcp --dport 53 -j ACCEPT
-A OUTPUT -s 192.168.0.151/32 -d 80.80.111.254/32 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -s 224.0.0.0/8 -j DROP
-A OUTPUT -d 224.0.0.0/8 -j DROP
-A OUTPUT -s 255.255.255.255/32 -j DROP
-A OUTPUT -d 0.0.0.0/32 -j DROP
-A OUTPUT -m state --state INVALID -j DROP
-A OUTPUT -o eth1 -j OUTBOUND
-A OUTPUT -o eth3 -j OUTBOUND
-A OUTPUT -j LOG_FILTER
-A OUTPUT -j LOG --log-prefix "Unknown Output" --log-level 6
-A INBOUND -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INBOUND -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INBOUND -j LSI
-A LSI -j LOG_FILTER
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -j DROP
-A LSI -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -p icmp -m icmp --icmp-type 8 -j DROP
-A LSI -m limit --limit 5/sec -j LOG --log-prefix "Inbound " --log-level 6
-A LSI -j DROP
-A LSO -j LOG_FILTER
-A LSO -m limit --limit 5/sec -j LOG --log-prefix "Outbound " --log-level 6
-A LSO -j REJECT --reject-with icmp-port-unreachable
-A OUTBOUND -p icmp -j ACCEPT
-A OUTBOUND -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTBOUND -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTBOUND -j ACCEPT
но при перезагрузке компьютера по идее должны вступать в силу правила описанные в файле /etc/iptables.up.rules Показать
GNU nano 2.2.6 Файл: /etc/iptables.up.rules
# Generated by iptables-save v1.4.12.2 on Thu Aug 16 09:29:14 2012
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Thu Aug 16 09:29:14 2012
# Generated by iptables-save v1.4.12.2 on Thu Aug 16 09:29:14 2012
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Thu Aug 16 09:29:14 2012
# Generated by iptables-save v1.4.12.2 on Thu Aug 16 09:29:14 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Thu Aug 16 09:29:14 2012
ссылка на которые действительно имеется в /etc/network/interfaces. Либо же опять я чего-то не понимаю... %) Откуда в действительности происходит чтение правил iptables?
2. По поводу ping-a и раздачи инета:
всё заработало, но лишь когда сменил IP-диапазон клиентских машин. почему?
Напомню, eth3 смотрит в локалку, eth1 смотрит в инет (сейчас он раздаётся модемом в режиме роутера). Кстати, почему разняться вышеприведённые данные команды ifconfig и содержимое файликов в /etc/NetworkManager/system-connections с названиями интерфейсов?
3. Почему без указания адреса 0.0.0.0 который нужно указать в качестве шлюза в настройках второго интерфейса (у меня это eth3 смотрящий в локалку) сетевая карта не пингуется?
А у вас что на eth1 и eth3 были адреса с одной сети??
А покажыте но вашу таблицу маршрутизацыи route -n
Да, были одной. На данный момент уже нет. volozub@mint ~/Документы $ sudo route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth1
192.168.0.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 eth3