Привет друзья! Я поражен маршрутизацией трафика из офиса в Интернет. У меня есть структура сети, подобная этой http://asthana.me/images/ip.png Я назначил статический ip внутреннему серверу cent os (у которого есть два NIC). Сеть работает нормально, из моего центра OS я могу просматривать Интернет, но во внутренней сети, которая после коммутатора, я не могу просматривать Интернет, я использую Iptable для решения этих проблем из того, что я нашел в Интернете у меня есть пробовал следующий код, но есть ошибки

# 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
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A FORWARD -i eth0 -o eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i eth2 -o eth0 -j ACCEPT
-t nat -A POSTROUTING -o eth2 -j MASQUERADE
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Всякий раз, когда я пытаюсь перезапустить iptable, я получаю сообщение об ошибке в следующей строке

"    -t nat -A POSTROUTING -o eth2 -j MASQUERADE"

Я пробовал разные коды, но ни один из них не работает, моя главная проблема: я хочу запустить интернет внутри офиса и хочу разместить домен с этим IP, но я не желаю этого делать.

Любая помощь очень ценится, и спасибо в ожидании

Вывод ifconfig выглядит следующим образом, и, чтобы сказать вам, моя карта eth1 есть, но не работает

[root@ZyXEL2 ~]# ifconfig
 eth0      Link encap:Ethernet  HWaddr 00:25:22:1C:89:2D  
      inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0
      inet6 addr: fe80::225:22ff:fe1c:892d/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:42968 errors:0 dropped:0 overruns:0 frame:0
      TX packets:16281 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:26041912 (24.8 MiB)  TX bytes:1683535 (1.6 MiB)

eth1      Link encap:Ethernet  HWaddr 00:E0:1C:3C:5C:40  
      inet6 addr: fe80::2e0:1cff:fe3c:5c40/64 Scope:Link
      UP BROADCAST MULTICAST  MTU:1500  Metric:1
      RX packets:0 errors:478 dropped:0 overruns:0 frame:0
      TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 b)  TX bytes:2652 (2.5 KiB)
      Interrupt:23 Base address:0x8c00 

eth2      Link encap:Ethernet  HWaddr 00:E0:4A:09:C6:AA  
      inet6 addr: fe80::2e0:4aff:fe09:c6aa/64 Scope:Link
      UP BROADCAST MULTICAST  MTU:1400  Metric:1
      RX packets:2007 errors:0 dropped:0 overruns:0 frame:0
      TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:176727 (172.5 KiB)  TX bytes:2498 (2.4 KiB)
      Interrupt:22 Base address:0x6800 

lo        Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:312 errors:0 dropped:0 overruns:0 frame:0
      TX packets:312 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:28959 (28.2 KiB)  TX bytes:28959 (28.2 KiB)

[root@ZyXEL2 ~]# 

И когда я пытаюсь перезапустить iptable следующий вывод

 service iptables restart
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules: iptables-restore v1.4.7: Line 14 seems to have a   -t     table option.

Error occurred at line: 14
 Try `iptables-restore -h' or 'iptables-restore --help' for more information.
                                                       [FAILED]

[root @ ZyXEL2 ~] #

1 ответ1

0

Используйте команду iptables для вставки или добавления правил.

После достижения результатов, которые вас устраивают, используйте команду iptables-save, которая сгенерирует правильный форматированный вывод. В вашем текущем случае вы пропустили часть:

*nat
....
COMMIT

Это должно выглядеть так (с вашим правилом):

# 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]
   ......
COMMIT

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth2 -j MASQUERADE
COMMIT

Попробуйте взглянуть на это руководство по NAT , в смысле использование iptables и включение пересылки должны быть в порядке для CentOS.

Также обратите внимание, что в офисном клиенте должен быть добавлен маршрут, который указывает ваш CentOS (выступающий в качестве маршрутизатора), поэтому вы можете настроить DHCP-сервер на CentO для предоставления правильных настроек для пользовательских машин.

Также обратите внимание на команду tcpdump - очень удобно для проверки трафика и определения: правила работают или нет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .