Проблемы пересылки IP Shorewall в 12.04 LTS

Подключение к Интернету через мой Shopelall box 12.04 LTS в лучшем случае нечеткое. Ping работает как локально, так и в Интернете без пропущенных пакетов (как из самой коробки, так и из внутренней локальной сети). HTTP-соединения прекрасно работают через squid, но когда я не использую squid, они медленные и нестабильные. SSH также медленный, и иногда соединение может быть затруднено. HTTPS и электронная почта вообще не работают.

Этот блок заменяет блок 11.04 с той же настройкой, которая работала нормально. Это новая установка 12.04 LTS на новом оборудовании.

Конфигурация сети:

% ifconfig
eth0      Link encap:Ethernet  HWaddr bc:5f:f4:47:99:24  
          inet addr:X.X.X.X  Bcast:255.255.255.255  Mask:255.255.254.0
          UP BROADCAST RUNNING MULTICAST  MTU:576  Metric:1
          RX packets:36215 errors:2882 dropped:0 overruns:0 frame:2882
          TX packets:6652 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2983691 (2.9 MB)  TX bytes:660681 (660.6 KB)
          Interrupt:16 

eth1      Link encap:Ethernet  HWaddr bc:5f:f4:47:99:22  
          inet addr:10.0.0.1  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::be5f:f4ff:fe47:9922/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5875 errors:0 dropped:9 overruns:0 frame:0
          TX packets:4424 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:661913 (661.9 KB)  TX bytes:762000 (762.0 KB)
          Interrupt:16 

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:18 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1284 (1.2 KB)  TX bytes:1284 (1.2 KB)

Не думаю, что это проблема маршрутизации:

% route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         X.X.X.X         0.0.0.0         UG    100    0        0 eth0
10.0.0.0        *               255.255.255.0   U     0      0        0 eth1
X.X.X.0         *               255.255.254.0   U     0      0        0 eth0

Я включил переадресацию IP:

% sudo sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

Я пробовал с включенным и выключенным rp_filter с теми же результатами.

Я специально пытался добавить правило в shorewall, чтобы пропустить трафик на 80 и 443, но оно не исправило его (и не должно быть необходимым в данной политике).

Конфигурация Shorewall выглядит следующим образом:

% grep -v ^# /etc/shorewall/interfaces
net eth0  detect  dhcp
loc eth1  detect  dhcp

% grep -v ^# /etc/shorewall/zones
fw  firewall
net ipv4
loc ipv4

% grep -v ^# /etc/shorewall/rules
SECTION NEW
Ping(ACCEPT)  fw  loc

% grep -v ^# /etc/shorewall/policy

fw  fw  ACCEPT  info
fw  net ACCEPT  info
fw  all REJECT  warning

loc fw  ACCEPT  info
loc net ACCEPT  info

net fw  REJECT  notice
net loc DROP  error

all all REJECT  info

% grep -v ^# /etc/shorewall/masq
eth0  10.0.0.0/24

Соответствующие iptables:

% sudo iptables -L
...

Chain net2loc (1 references)
target     prot opt source               destination         
dynamic    all  --  anywhere             anywhere             ctstate INVALID,NEW
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
Drop       all  --  anywhere             anywhere            
LOG        all  --  anywhere             anywhere             LOG level error prefix "Shorewall:net2loc:DROP:"
DROP       all  --  anywhere             anywhere            
...

% sudo iptables -t nat -L -v -n
...

Chain POSTROUTING (policy ACCEPT 116 packets, 8749 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  189 12557 eth0_masq  all  --  *      eth0    0.0.0.0/0            0.0.0.0/0           

Chain eth0_masq (1 references)
 pkts bytes target     prot opt in     out     source               destination         
   73  3808 MASQUERADE  all  --  *      *       10.0.0.0/24          0.0.0.0/0 

Все выглядит хорошо для моих глаз.

Я думаю, что это проблема с отслеживанием подключений, но я не знаю, как ее диагностировать, а тем более исправить. Любая помощь очень ценится.

2
задан 29 December 2014 в 04:32

1 ответ

Вам нужно включить ip forwarding изнутри shorewall

sudo nano /etc/shorewall/shorewall.conf

, затем найти строку IP_FORWARDING=keep и изменить ее на On:

IP_FORWARDING=On  

Сохранить и выйти из файла , затем запустите:

sudo shorewall restart
0
ответ дан 29 December 2014 в 04:32

Другие вопросы по тегам:

Похожие вопросы: