1 (21.08.2013 20:21:23 отредактировано spirit1086)

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

ip 192.168.137.5
mask 255.255.255.0
gateway 
dns 192.168.137.5

компа с Win7

ip 192.168.137.11
mask 255.255.255.0
gateway 192.168.137.5
dns 192.168.137.5

iptables

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

2 (21.08.2013 21:17:56 отредактировано spirit1086)

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

3

Для Debian писалось настройки интерфейсов только по-другому, остальное всё тоже.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

4

spirit1086 пишет:

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

ip 192.168.137.5
mask 255.255.255.0
gateway 
dns 192.168.137.5

компа с Win7

ip 192.168.137.11
mask 255.255.255.0
gateway 192.168.137.5
dns 192.168.137.5

iptables

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
Вот это правило запрещает любые пакеты. Поэтому в локальную сеть пакеты и не ходят. Ни туда, ни обратно.
Либо запрещайте адресно(протокол там, порты), Либо разрешайте адресно, потом запрещайте.

5

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

6

spirit1086 пишет:

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

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

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

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

-A FORWARD -o $LAN_IF -j ACCEPT
-A POSTROUTING -o $EXT_IF -j MASQUERADE

7 (24.08.2013 10:19:29 отредактировано spirit1086)

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

Cruiser78⇓ пишет:

-A POSTROUTING -o $EXT_IF -j MASQUERADE

iptables ругается
Вообще я правильно понимаю пинги идут туда и обратно между собой, а инета нет на локальной машине потому что  правила в iptables по дефолту?

8 (24.08.2013 11:28:25 отредактировано marikk)

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 на название интерфейса с интернет соединением ?

9 (24.08.2013 11:35:35 отредактировано spirit1086)

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

ip 192.168.137.5
mask 255.255.255.0
gateway 
dns 192.168.137.5

компа с Win7

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 по умолчанию было записано, я ничего не писал здесь

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

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

10

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

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

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

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

11

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

12 (01.09.2013 10:37:42 отредактировано AlfaStriker)

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

touch /etc/sysconfig/firewall.sh
chmod +x /etc/sysconfig/firewall.sh
chmod 750 /etc/sysconfig/firewall.sh
vi /etc/sysconfig/firewall.sh
#!/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 добавь строчку:

/etc/sysconfig/firewall.sh

13

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

14

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

15 (24.08.2013 23:25:52 отредактировано spirit1086)

AlfaStrikerспс

16

spirit1086 пишет:

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

Cruiser78⇓ пишет:

-A POSTROUTING -o $EXT_IF -j MASQUERADE

iptables ругается
Вообще я правильно понимаю пинги идут туда и обратно между собой, а инета нет на локальной машине потому что  правила в iptables по дефолту?

А на что он ругается? На переменную EXT_IF (внешний интерфейс)? А определить её перед использованием Вы не забыли? Я же не знаю, как у Вас внешний интерфейс называется, телепатическими способностями не обладаю...

17

AlfaStriker пишет:

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

/etc/sysconfig/firewall.sh

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

#iptables-save > /etc/sysconfig/iptables

18 (25.08.2013 18:07:20 отредактировано spirit1086)

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

#!/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

#
# 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

19

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