Назад | Перейти на главную страницу

как добавить правила iptables для двух сетевых адаптеров на CentOS (действовать как шлюз)

У меня машина C с двумя сетевыми картами, а именно eth0 и eth1, с установленной на нем CentOS 4.9. Также у меня есть машина A, подключающаяся к C через eth0 и машина B, подключенная к C через eth1. Теперь я хочу, чтобы машина A находилась в подсети (например, 192.168.3.0/24), а машина B находилась в другой подсети (например, 192.168.4.0/24), и они могли общаться друг с другом.

                  eth0         eth1
Machine A <---------> Machine C <---------> Machine B
           ...3.0/24             ...4.0/24

По ответу моего предыдущий вопрос об этой проблеме, Я настроил свои eth0 и eth1:

/ и т. д. / sysconfig / сетевые сценарии / ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.3.1
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet

/ и т. д. / sysconfig / сетевые сценарии / ifcfg-eth1

DEVICE=eth1
BOOTPROTO=static
IPADDR=192.168.4.1
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet

И настройте машину A (Windows XP) с 192.168.3.10, 192.168.3.1 (gw) и машину B (windows 7) с 192.168.4.10, 192.168.4.1 (gw). Я включил переадресацию ip на машине C. Теперь я не добавил никаких маршрутов или правил iptables. Я мог пинговать 192.168.3.10 с машины B, но не наоборот. Мне не хватает некоторых правил маршрутизации? Если да, то как добавить эти правила?

Мы будем благодарны за любые предложения, руководства или инструкции.

Тот факт, что одна машина может успешно проверить связь с другой машиной, предполагает, что машина маршрутизатора (C) настроена, по крайней мере, достаточно правильно - переадресация IP работает, и в конфигурации iptables нет политики отказа по умолчанию.

Я был бы склонен подозревать настройку брандмауэра на компьютере B, из-за которого он по умолчанию не отвечает на эхо-запросы. Я не гуру Microsoft, поэтому я не знаю, может ли это быть стандартным для Windows 7, или как это проверить и исправить, но, по-видимому, там есть какой-то диспетчер конфигурации, где вы можете щелкнуть.

Если это, похоже, не приносит плодов, просто проверьте свою работоспособность. iptables config, запустив iptables -L -n и убедившись, что в FORWARD цепочка (их могла добавить какая-то системная конфигурация) и что политика для этой цепочки, на самом деле, ACCEPT (это не очень хорошая практика обеспечения безопасности, но мы еще не дошли до того, чтобы «сделать это безопасным», а просто «заставить его работать»). Если вы не уверены в интерпретации результата, вставьте его в свой вопрос, и кто-нибудь поставит вам отметку «Нравится».

Быстрый тест:

Панель управления -> Брандмауэр Windows (в разделе «Система и безопасность», если вы делаете что-то подобное). На левой панели нажмите «Включение / выключение брандмауэра Windows», затем отключите брандмауэр на правой панели.

Если вы можете пинговать его, тогда отлично ... вы можете снова включить его и разрешить пинг, используя инструкции на http://www.sysprobs.com/enable-ping-reply-windows-7.

Если это не сработает, еще одним быстрым тестом будет выключение iptables, конечно, только для устранения неполадок. Даже если вы не помните, как с ним возились, стоит проверить ...

sudo /etc/init.d/iptables stop