LinuxForum.Fans
Тема

Раздача инта в локалку

Автор: spirit1086 19 сообщений 4565 просмотров
#333771

Здравствуйте, схема такова сервер Centos к ниму на прямую через шнур подключен комп с Win7, на сервере с CentOS есть инет, между собой сервер и комп пингуются, а вот на компе под управлением Win7 нет интернета
сервер Centos внутрений интерфейс, внешний инетовские получает все автоматом,я так понимаю надо iptables настроить чтобы был инет на локальных машинах или я не прав?

text

ip 192.168.137.5
mask 255.255.255.0
gateway 
dns 192.168.137.5

компа с Win7

text

ip 192.168.137.11
mask 255.255.255.0
gateway 192.168.137.5
dns 192.168.137.5

iptables

text

INPUT ACCEPT 
FORWAD ACCEPT
OUTPUT ACCEPT
-A INPUT -m state  --state  ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state NEW -m tcp -p tcp  --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD  -j REJECT --reject-with icmp-host-prohibited
#333781

нужно очень подскажите что не так, гугль перерыл пока не помагает ни чего

#333857
spirit1086 написал:
Здравствуйте, схема такова сервер Centos к ниму на прямую через шнур подключен комп с Win7, на сервере с CentOS есть инет, между собой сервер и комп пингуются, а вот на компе под управлением Win7 нет интернета
сервер Centos внутрений интерфейс, внешний инетовские получает все автоматом,я так понимаю надо iptables настроить чтобы был инет на локальных машинах или я не прав?
text

ip 192.168.137.5
mask 255.255.255.0
gateway 
dns 192.168.137.5

компа с Win7

text

ip 192.168.137.11
mask 255.255.255.0
gateway 192.168.137.5
dns 192.168.137.5

iptables

text

INPUT ACCEPT 
FORWAD ACCEPT
OUTPUT ACCEPT
-A INPUT -m state  --state  ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state NEW -m tcp -p tcp  --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD  -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited
Вот это правило запрещает любые пакеты. Поэтому в локальную сеть пакеты и не ходят. Ни туда, ни обратно.
Либо запрещайте адресно(протокол там, порты), Либо разрешайте адресно, потом запрещайте.

#334174

Удалил последние две строки все равно с машины с win7 нет инета

#334175
spirit1086 написал:
Удалил последние две строки все равно с машины с win7 нет инета

А на центосе форвардинг пакетов включен?

text
#echo 1 > /proc/sys/net/ipv4/ip_forward

Ну и правило в iptables про форвардинг должно выглядеть чуть иначе:

text
-A FORWARD -o $LAN_IF -j ACCEPT
-A POSTROUTING -o $EXT_IF -j MASQUERADE
#334179

форвардинг включен,а вот

"Cruiser78⇓" написал:
-A POSTROUTING -o $EXT_IF -j MASQUERADE
iptables ругается
Вообще я правильно понимаю пинги идут туда и обратно между собой, а инета нет на локальной машине потому что правила в iptables по дефолту?
#334188
"spirit1086⇓" написал:
INPUT ACCEPT
FORWAD ACCEPT
OUTPUT ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

Не стоит с такой белеберды начинать настраивать шлюз.

Настройте интерфейсы. Проверьте соединение(к интернету и к локалке). Включите форвардинг. С помощью iptables включите трансляцию пакетов туда-обратно (маскарадинг или snat). И когда все это заработает добавляйте плюшек сколько душе угодно.


iptables ругается

Увидеть бы ошибку.

А вы заменили $EXT_IF на название интерфейса с интернет соединением ?

#334190

Снес систему много чего накрутил и заново поставил чистую, инет на CentOs поднял, с локалки что с CentOs что с винды идут пинги между собой
eth0 сетевуха локальная Centos шлюза

text

ip 192.168.137.5
mask 255.255.255.0
gateway 
dns 192.168.137.5

компа с Win7

text

ip 192.168.137.11
mask 255.255.255.0
gateway 192.168.137.5
dns 8.8.8.8

/etc/sysctl.conf net.ipv4.ip_forward = 1 поставил

А вот это в iptables по умолчанию было записано, я ничего не писал здесь

text

INPUT ACCEPT 
FORWAD ACCEPT
OUTPUT ACCEPT
-A INPUT -m state  --state  ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state NEW -m tcp -p tcp  --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD  -j REJECT --reject-with icmp-host-prohibited

Подскажите какие дальше действия чтобы на локальном компе работал инет

#334191


А вот это в iptables по умолчанию было записано, я ничего не писал здесь

В CentOs еще не доводилось работать, но думаю разница невелика.

text

#iptables -t nat -A POSTROUTING -o $EXT_IF -j MASQUERADE

$EXT_IF - замените на название вашего сетевого интерфейса с интернетом (к примеру ppp0).

#334193

написал ноль эффекта , а на centOS не надо как на винде давать общий доступ на интернет соединение ?

#334216

Может файл скрипт правил iptables создашь?
Так удобней имхо.

text
touch /etc/sysconfig/firewall.sh
chmod +x /etc/sysconfig/firewall.sh
chmod 750 /etc/sysconfig/firewall.sh
vi /etc/sysconfig/firewall.sh
text
#!/bin/bash
# Очистка всех цепочек iptables
iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -t nat -X
iptables -t mangle -X

# Политика по умолчанию, запретить все что не разрешено iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP

# Разрешаем обращение к lo интерфейсу iptables -A INPUT -i lo -p all -j ACCEPT iptables -A OUTPUT -o lo -p all -j ACCEPT

# Разрешаем обращение к внутреннему eth0 интерфейсу iptables -A INPUT -i eth0 -p all -j ACCEPT iptables -A OUTPUT -o eth0 -p all -j ACCEPT

# Пропускать уже инициорванные, а также их дочерние iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

# Пропускать новые, иницированные, а также их дочерние iptables -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Разрешить форвардинг для новых, иницированных, а также их дочерних iptables -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Настройка NAT iptables -t nat -A POSTROUTING -s 192.168.137.0/24 -j MASQUERADE

В файл /etc/rc.d/rc.local добавь строчку:

text
/etc/sysconfig/firewall.sh
#334222

AlfaStriker, Спасибо с первого раза поперло теперь буд разбираться!

#334223

теперь еще буду со squid разбираться

#334232

AlfaStrikerспс

#334242

spirit1086 написал:
форвардинг включен,а вот [quote="Cruiser78⇓"]-A POSTROUTING -o $EXT_IF -j MASQUERADE
iptables ругается
Вообще я правильно понимаю пинги идут туда и обратно между собой, а инета нет на локальной машине потому что правила в iptables по дефолту?[/quote]

А на что он ругается? На переменную EXT_IF (внешний интерфейс)? А определить её перед использованием Вы не забыли? Я же не знаю, как у Вас внешний интерфейс называется, телепатическими способностями не обладаю...
#334243
AlfaStriker написал:
В файл /etc/rc.d/rc.local добавь строчку:
text
/etc/sysconfig/firewall.sh

Это лишнее. Достаточно сделать:

text
#iptables-save > /etc/sysconfig/iptables
#334347

посмотрите пожалуйста почему у меня через прокси клиенты не получают инет Squid в роли прозрачного прокси сервера
Iptables

text

#!/bin/bash
# Очистка всех цепочек iptables
iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -t nat -X
iptables -t mangle -X

# Политика по умолчанию,запретить все что не разрешено iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP

# Разрешаем обращение к lo интерфейсу iptables -A INPUT -i lo -p all -j ACCEPT iptables -A OUTPUT -o lo -p all -j ACCEPT

# Разрешаем обращение к внутреннему eth0 интерфейсу iptables -A INPUT -i eth0 -p all -j ACCEPT iptables -A OUTPUT -o eth0 -p all -j ACCEPT

# Пропускать уже инициированные, а также их дочерние iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

# Пропускать новые, инициированные, а также их дочерние iptables -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Разрешить форвардинг для новых,инициированных, а также их дочерних iptables -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Настройка NAT iptables -t nat -A PREROUTING -s 192.168.137.0/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128

Squid

text

#
# Recommended minimum configuration:
#
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

# Example rule allowing access from your local networks. # Adapt to list your (internal) IP networks from where browsing # should be allowed acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT

# # Recommended minimum Access Permission configuration: # # Only allow cachemgr access from localhost http_access allow manager localhost http_access deny manager

# Deny requests to certain unsafe ports http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports http_access deny CONNECT !SSL_ports

# We strongly recommend the following be uncommented to protect innocent # web applications running on the proxy server who think the only # one who can access services on "localhost" is a local user #http_access deny to_localhost

# # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS #

acl MyLocal src 192.168.137.0/24 # МОЯ ЛОКАЛКА acl MyProtocol proto http http_access allow MyProtocol Safe_ports http_access allow MyLocal

# Example rule allowing access from your local networks. # Adapt localnet in the ACL section to list your (internal) IP networks # from where browsing should be allowed http_access allow localnet http_access allow localhost

# And finally deny all other access to this proxy http_access deny all

# Squid normally listens to port 3128 http_port 3128 transparent

# We recommend you to use at least the following line. hierarchy_stoplist cgi-bin ?

# Uncomment and adjust the following to add a disk cache directory. #cache_dir ufs /var/spool/squid 100 16 256

# Leave coredumps in the first cache dir coredump_dir /var/spool/squid

# Add any of your own refresh_pattern entries above these. refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320

#334451

Все разобрался NAT не так заворачивал на squid

Войдите или зарегистрируйтесь, чтобы ответить.