LinuxForum.Fans
Тема

Не работает nat

Автор: pavlar 29 сообщений 6490 просмотров
#213461

]У меня не только nat не работает но и ping по внутренней сетке 172.16.0.0 Может что неправильно задал

Показать
network-scripts
ifcfg-eth0
DEVICE="eth0"
BOOTPROTO=static
DEFROUTE="yes"
NETWORK=194.44.31.237
DNS1="194.44.31.226"
GATEWAY=194.44.31.226
IPADDR=194.44.31.237
IPV4_FAILURE_FATAL="yes"
IPV6INIT="no"
NAME="System eth0"
NM_CONTROLLED="yes"
ONBOOT="yes"
PREFIX=28
TYPE="Ethernet"
UUID="5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03"
HWADDR=00:25:90:0F:5B:7E



Файл: ifcfg-eth1
DEVICE="eth1"
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
IPADDR=172.16.0.1
PREFIX=16
NETWORK=192.168.1.1
GATEWAY=194.44.31.237
DNS1=194.44.31.226
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"
UUID=9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04
HWADDR=00:25:90:0F:5B:7F




iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
*nat
-A POSTROUTING -o eth1 -s 172.16.0.1 -j SNAT --to 194.44.31.237
#
COMMIT]
#213472

Я в настройке eh1 поменял название сети (ошибочно стояла 192.168.1.1) на 172.16.0.1 Перезагрузился. Пинг по внутренней сетке пошёл. а NAT не работает

#213474

пришлось удалить комментарий :)

#213475

форвардинг включен в /etc/sysctl.conf?

#213476
Hrafn написал:
форвардинг включен в /etc/sysctl.conf?
Показать
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Disable netfilter on bridges.
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
net.ipv4.ip_forward = 1

Я убрал лишнюю строку (net.ipv4.ip_forward = 0) а то неопределенность получалась. Но пинг с внутренней сетке идет только на сетевую карту внешней сети 194.44.31.237 А дальше что-то держит, инттернет с внутренней сетки не работает и пинг на удаленные адреса нее прожодит. Кто ping режет при переходе во внешнюю сеть?

Показать
kol@kol /]$ ping 194.44.31.233
PING 194.44.31.233 (194.44.31.233) 56(84) bytes of data.
From 172.16.0.1 icmp_seq=1 Destination Host Prohibited
Fro
[m 172.16.0.1 icmp_seq=2 Destination Host Prohibited
--- 194.44.31.233 ping statistics ---
11 packets transmitted, 0 received, +11 errors, 100% packet loss, time 10833ms


[kol@kol /]$ ping 172.16.0.2
PING 172.16.0.2 (172.16.0.2) 56(84) bytes of data.
64 bytes from 172.16.0.2: icmp_seq=1 ttl=64 time=0.035 ms
64 bytes from 172.16.0.2: icmp_seq=2 ttl=64 time=0.023 ms
64 bytes from 172.16.0.2: icmp_seq=3 ttl=64 time=0.026 ms
^C
--- 172.16.0.2 ping statistics ---

PING 172.16.0.2 (172.16.0.2) 56(84) bytes of data.
64 bytes from 172.16.0.2: icmp_seq=1 ttl=64 time=0.035 ms
64 bytes from 172.16.0.2: icmp_seq=2 ttl=64 time=0.023 ms
64 bytes from 172.16.0.2: icmp_seq=3 ttl=64 time=0.026 ms
^C
3 packets transmitted, 3 received, 0% packet loss, time 2531ms
rtt min/avg/max/mdev = 0.023/0.028/0.035/0.005 ms
[kol@kol /]$ import -windows pol.png

А с карты 194.44.31.237 интернет видится и я с вами общаюсь

#213498

Надо было не убирать лишнюю строку, поскольку она не лишняя, а протсо значение поменять
Ок, после изменения что делали?

#213499

строку

text
-A POSTROUTING -o eth1 -s 172.16.0.1 -j SNAT --to 194.44.31.237

в конфиге iptables приведите к такому виду:

text
-A POSTROUTING -o eth0 -j SNAT --to-source 194.44.31.237
#213500

а это еще что?

#
COMMIT]

#213591
Hrafn написал:
строку
text
-A POSTROUTING -o eth1 -s 172.16.0.1 -j SNAT --to 194.44.31.237

в конфиге iptables приведите к такому виду:

text
-A POSTROUTING -o eth0 -j SNAT --to-source 194.44.31.237

Файл: iptables

Показать
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
*nat
-A POSTROUTING -o eth0 -j SNAT --to-source 194.44.31.237
#
COMMIT

Всё равно из компьютера локальной сети 172.16.0.2 не пингуется удаленный адрес Destination host prohibited а скобку поле commit я убрал

Но потом у меня вообще исчез iptables ( после того как я безуспешно попытался пойти другим путем

text
 iptables -t nat -I POSTROUTING -o eth0 -j SNAT -s $IP --to-source 194.44.31.237

Команда не сработала сообщила о неверном аргументе 194.44.31.237 Я его (iptables) восстановил из iptables.old Но после рестарта iptables появляется сообщение

Показать
root@pol pol]# service iptables restart
iptables: Сбрасываются правила межсетевого экрана: [ OK ]
iptables: Цепочкам назначается политика ACCEPT: nat filter [ OK ]
iptables: Применяются правила межсетевого экрана: iptables-restore v1.4.7: no command specified
Error occurred at line: 17
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
[СБОЙ ]
[root@pol pol]# mc

[root@pol sysconfig]#

Странно всё это: ошибка 17 строки а там ничего кроме COMMIT нет

#213607

Кроме того при попытке настроить iptables в графике появляется сообщение

Показать
org.freedesktop.DBus.Python.KeyError: Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/slip/dbus/service.py", line 121, in reply_handler
result = method(self, *p, **k)
File "/usr/share/system-config-firewall/fw_dbus.py", line 113, in write
ip6t_status, log) = fw_lokkit.updateFirewall(config, old_config)
File "/usr/share/system-config-firewall/fw_lokkit.py", line 167, in updateFirewall
ip4tables_conf.write()
File "/usr/share/system-config-firewall/fw_iptables.py", line 188, in write
self._write(fd, key, self.p_config[key])
KeyError: 'IPTABLES_MODULES'
#213625
pavlar написал:
не пингуется удаленный адрес  Destination host prohibited

с учетом того, что пинги Вы же сами и запретили - не удивительно.

Я бы все посоветовал Вам почитать доки по iptables. Судя по тому, что Вы творите, смысла в Ваших действиях нет совсем. Попробуйте хотя бы минимально понять логику работы. Без этого тяжело будет.

#213651
Hrafn написал:
[quote=pavlar]не пингуется удаленный адрес  Destination host prohibited

с учетом того, что пинги Вы же сами и запретили - не удивительно.

Я бы все посоветовал Вам почитать доки по iptables. Судя по тому, что Вы творите, смысла в Ваших действиях нет совсем. Попробуйте хотя бы минимально понять логику работы. Без этого тяжело будет.[/quote]
Как я ping отменял? Пинг вовнутреннюю сеть идет и наруу с компьтера на котором две сетевые карты и NAT/. А с компов которые на внутренней сетке, пинг идет лишь до внешеней сетевой карты

#213653
pavlar написал:
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

а это мне привиделось что ли? и я не говорил "отменил", я сказал - запретил. Почувствуйте разницу

#213655

Читайте доки, в любом случае. Это будет более продуктивно.

#213683
Hrafn написал:
Читайте доки, в любом случае. Это будет более продуктивно.

Да я велосипеда в общем то не изобретаю Но всё равно ноль на массу http://opennet.ru/base/net/redhat_nat.txt.html И причем здесь icmp rejeted?Лишь запрет пересвлки служебной информации

#213685

при чем тут NAT в Red Hat? Вы принципа работы не понимаете и пишете все подряд в конфиг. Таким образом помогать в чем-либо смысла нет, потому что пока ориентируешься на ту информацию, которая указана в постах, оазывается, что в этот момент ТС уже что-то накрутил, где-то прочитав и не понимая, что делает, все сломалось, ось переставилась и вообще уже ничего не работает. Какой смысл помогать-то в таком случае?

#213690

Наконец NAT заработал при такой конфигурации
iptables

Показать
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-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 --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
#
COMMIT

#
*nat
-A POSTROUTING -o eth0 -s 172.16.0.0/12 -j SNAT --to 194.44.31.237
#
COMMIT
#213695
Hrafn написал:
ну и славно

И своего я ничего не добавлял кроме строки NAT . Всё остальное стояло по умолчанию. Я наоборот даже строки c rejected удалил А кроме того у меня Scientific Linux 6.1 wink

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