У меня следующая проблема.
Есть сервер с двумя интерфейсами. Одним смотрит в мир другим в локальную сетку.
server:/etc/ferm# ip route list table main
222.111.22.44/30 dev eth0.3 proto kernel scope link src 217.119.24.46
10.0.8.0/24 dev eth0.11 proto kernel scope link src 10.0.8.1
default via 222.111.22.45 dev eth0.3сервер сам ходит в инет без проблем. Но вот машинки из локалки ну никак этого делать не отят. На сервере стоит iptables и ferm 1.2. Настроен NAT:
table filter {
chain INPUT {
policy DROP;# connection tracking
mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;# allow local packages
interface lo ACCEPT;# respond to ping, but limit that
proto icmp ACCEPT;# allow IPsec
proto udp dport 500 ACCEPT;
proto (esp ah) ACCEPT;# allow SSH connections
proto tcp dport ssh ACCEPT;
}
chain OUTPUT {
policy ACCEPT;# connection tracking
#mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
}
chain FORWARD {
policy DROP;# connection tracking
mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
}
}table nat {
chain POSTROUTING {
policy ACCEPT;
# masquerade private IP addresses
saddr 10.0.8.0/16 outerface eth0.3 SNAT to 222.111.22.46;
}
}
Подскажите плиз что не так?
eth0.3 eth0.11 говорит о том что используется один интерфейс, а .3 и .11 либо алиасы, либо вланы
покажи
iptables -nvL
ну iproute для этой задачи совсем не нужен, а вот форвардинг в ядре наверняка вырублен...
>eth0.3 eth0.11 говорит о том что используется один интерфейс, а .3 и
>.11 либо алиасы, либо вланы
>покажи
>iptables -nvL:~# iptables -nvL
Chain INPUT (policy DROP 10450 packets, 1778K bytes)
pkts bytes target prot opt in out source destination
0 0 DROP 0 -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
2789 295K ACCEPT 0 -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT 0 -- lo * 0.0.0.0/0 0.0.0.0/0
38 2293 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 255
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:500
0 0 ACCEPT esp -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT ah -- * * 0.0.0.0/0 0.0.0.0/0
11 648 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP 0 -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
0 0 ACCEPT 0 -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHEDChain OUTPUT (policy ACCEPT 1710 packets, 113K bytes)
pkts bytes target prot opt in out source destination
2795 232K ACCEPT 0 -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHEDполучается, что цепочка прероутинга не подключена?
cat /proc/sys/net/ipv4/ip_forward
iptables -t nat -L -vnв студию
>cat /proc/sys/net/ipv4/ip_forward
>iptables -t nat -L -vn
>
>в студию# cat /proc/sys/net/ipv4/ip_forward
1
# cat /etc/sysctl.conf
net/ipv4/ip_forward=1# iptables -t nat -L -vn
Chain PREROUTING (policy ACCEPT 55 packets, 8970 bytes)
pkts bytes target prot opt in out source destinationChain POSTROUTING (policy ACCEPT 11 packets, 684 bytes)
pkts bytes target prot opt in out source destination
0 0 SNAT 0 -- * eth0.3 10.0.0.0/16 0.0.0.0/0 to:222.111.22.46Chain OUTPUT (policy ACCEPT 11 packets, 684 bytes)
pkts bytes target prot opt in out source destination
у тебя запрещено на файерволе движение да внутренней подсети, на ответы на неё почему-то разрешены, странно
всё остальное в норме
выполни командуiptables -A FORWARD -j ACCEPT -s 10.0.0.0/16
>у тебя запрещено на файерволе движение да внутренней подсети, на ответы на
>неё почему-то разрешены, странно
>всё остальное в норме
>выполни команду
>
>iptables -A FORWARD -j ACCEPT -s 10.0.0.0/16Спасибо, заработало!
А это правило можно в ферме описать?
>>у тебя запрещено на файерволе движение да внутренней подсети, на ответы на
>>неё почему-то разрешены, странно
>>всё остальное в норме
>>выполни команду
>>
>>iptables -A FORWARD -j ACCEPT -s 10.0.0.0/16
>
>Спасибо, заработало!
>А это правило можно в ферме описать?
я с ferm 1.2 не работал и как он завязан на iptables не занаю.
iptables при старте смотрит в файл /etc/sysconfig/iptables и если такой есть, берёт от туда правила, вот пример
# Generated by iptables-save v1.3.3 on Sat Oct 21 07:36:49 2006
*nat
:PREROUTING ACCEPT [164:10466]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT*mangle
:PREROUTING ACCEPT [0:65535]
:POSTROUTING ACCEPT [0:65535]
:INPUT ACCEPT [0:65535]
:FORWARD ACCEPT [0:65535]
:OUTPUT ACCEPT [0:65535]
-A POSTROUTING -o eth0 -j TOS --set-tos 16
COMMIT*filter
:INPUT DROP [19:65535]
:FORWARD DROP [9:65535]
:OUTPUT ACCEPT [1:65500]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp --dport 53 -j ACCEPT
-A INPUT -p udp --dport 53 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 10.112.112.0/24 -j ACCEPT-A FORWARD -d 10.112.112.1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.112.112.1 -m mac --mac-source 00:50:BF:5D:98:CF -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sat Oct 21 07:36:49 2006
ipforward включен?