Суть вопроса такова. Имею машину, одной ногой в локалке, другой в интернете.
На машине подняты сервисы www, ftp, irc. Хочу ещё поднять почту.
www работает нормально, доступен и из интернета и из локалки, а вот с ftp проблема... Если кто-то пытается из "мира" зайти на ftp, то после долгого раздумья фтп-клиенты говорят, что невозможно отобразить папку, хоть ходи експлоером, хоть каким либо фтп-клиентом.Второй вопрос, собственно самый главный... При таких правилах в iptables почта стоит в очереди и не уходит, соответственно и не приходит ничего... В кач-ве почтаря использую Communigate Pro.
#!/bin/bash
### --- Main Section --- ###
int_int="eth0"
ext_int="eth1"
ext_net="77.xxx.xxx.xxx/28"
ext_addr="77.xxx.xxx.19"
mail_addr="77.xxx.xxx.20"
<B><U><I>#mail_addr поднято на виртуальном eth1:1</I></U></B>
int_net="172.16.22.0/24"
int_addr="172.16.22.254"
lo_addr="127.0.0.1"
adm_addr="172.16.22.1"
priv_net1="77.xxx.xxx.xxx/28"
priv_net2="82.xxx.xxx.xxx/28"
priv_net3="212.xxx.xxx.xxx/28"
### --- End Main Section --- ###
### --- Zeroing All Rules --- ###
iptables -Z
iptables -t nat -Z
iptables -F
iptables -t nat -F
### ------------------------- ###
### Input Rules / External Network
iptables -A INPUT -d $lo_addr -j ACCEPT
iptables -A INPUT -d $ext_addr -s $priv_net1 -j ACCEPT
iptables -A INPUT -d $ext_addr -s $priv_net2 -j ACCEPT
iptables -A INPUT -d $ext_addr -s $priv_net3 -j ACCEPT
iptables -A INPUT -d $ext_addr -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -d $ext_addr -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -d $ext_addr -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -d $ext_addr -p udp --dport 53 -j ACCEPT
iptables -A INPUT -d $ext_addr -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -d $ext_addr -p tcp --sport 123 -j ACCEPT
iptables -A INPUT -d $ext_addr -p udp --sport 123 -j ACCEPT
iptables -A INPUT -d $ext_addr -p tcp --dport 4444 -j ACCEPT
iptables -A INPUT -d $ext_addr -p tcp --sport 4444 -j ACCEPT
iptables -A INPUT -d $ext_addr -p tcp --dport 6067 -j ACCEPT
iptables -A INPUT -d $ext_addr -p tcp --dport 7771 -j ACCEPT
iptables -A INPUT -d $ext_addr -p tcp --sport 7771 -j ACCEPT
iptables -A INPUT -d $ext_addr -p tcp --dport 8010 -j ACCEPT
iptables -A INPUT -d $ext_addr -p tcp --dport 8100 -j ACCEPT
iptables -A INPUT -d $ext_addr -p icmp -j ACCEPT
iptables -A INPUT -d $ext_addr -j REJECT
### Input Rules / External Network (mail)
iptables -A INPUT -d $mail_addr -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -d $mail_addr -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -d $mail_addr -p udp --dport 53 -j ACCEPT
iptables -A INPUT -d $mail_addr -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -d $mail_addr -p icmp -j ACCEPT
iptables -A INPUT -d $mail_addr -j REJECT
### Input Rules / Internal Network
iptables -A INPUT -d $int_addr -s $adm_addr -j ACCEPT
iptables -A INPUT -d $int_addr -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -d $int_addr -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -d $int_addr -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -d $int_addr -p udp --dport 53 -j ACCEPT
iptables -A INPUT -d $int_addr -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -d $int_addr -p tcp --dport 7771 -j ACCEPT
iptables -A INPUT -d $int_addr -p icmp -j ACCEPT
iptables -A INPUT -d $int_addr -j REJECT
iptables -A FORWARD -j ACCEPT
### End of Input Rules
iptables -t nat -A POSTROUTING -s $int_net -p icmp -j SNAT --to $ext_addr
echo 1 >/proc/sys/net/ipv4/ip_forward