LINUX.ORG.RU

Сообщения Mielofon

 

Iptables forward DNAT/SNAT и хочется странного.

Форум — Admin

Дело было так. Была машина которая смотрела в интернет и на ней был www-сервер. Пришлось машину переставлять в другое место, где в инет смотрит уже не сама машина, а некий роутер (IpExt 18.22.22.22 IpIn 192.168.10.1). Теперь у нашего www-сервера IP 192.168.10.1 и на роутере прокинули 80й порт следующим образом:

-A FORWARD -d 192.168.10.4/32 -i eth0 -o eth2 -p tcp -m tcp --dport 80 -j ACCEPT
-A PREROUTING -d 18.22.22.22/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.4:80
-A OUTPUT -d 18.22.22.22/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.4:80
-A POSTROUTING -d 192.168.10.4/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.10.1

Всё работает и www-сервер отвечает. Вот только в логах самого www-сервера теперь светится только внутренний IP 192.168.10.1, что вобщем то логично, но не красиво.

Вопрос: можно ли и как прокинуть порт, что бы IP источника не менялся?

на примере: сейчас адрес менятся

  • 1. приходит пакет с 5.5.5.5:10500 -> 18.22.22.22:80
  • 2. iptables меняет IP и порты и форвардит его на www-сервер 192.168.10.1:30100 -> 192.168.10.1:80
  • 3. приходит ответ от www-сервера 192.168.10.1:80-> 192.168.10.2:30100
  • 4. делается обратная замена и пакет отправляется откуда пришел меняется на 18.22.22.22:80 -> 5.5.5.5:10500

Так вот можно ли добится что бы внешний IP не менялся, а оставался внешним?

Типа так:

  • 1. 5.5.5.5:10500 -> 18.22.22.22:80
  • 2. 5.5.5.5:10500 -> 192.168.10.1:80
  • 3. 192.168.10.1:80-> 5.5.5.5:10500
  • 4. 18.22.22.22:80 -> 5.5.5.5:10500

надеюсь понятно объяснил :-)

 , ,

Mielofon
()

не вижу компьютер с samba в списке компьютеров с Windows компьютера.

Форум — Admin

Добрый день.

комп с CentOS+Samba
с win-компьютера в списке компьютеров в Сетевом окружении он не виден, но по \\FORMAIL заходит на ура и все шары прекрасно работают.


# testparm -s
Load smb config files from /etc/samba/smb.conf
Processing section "[Distrib]"
Loaded services file OK.
WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
Server role: ROLE_DOMAIN_MEMBER
[global]
dos charset = cp866
workgroup = OFFICE
realm = OFFICE.SPRUT.RU
server string = ForMail Samba Server 3.0
interfaces = seth0
security = ADS
auth methods = winbind
allow trusted domains = No
password server = 192.168.64.254
restrict anonymous = 2
log level = 5
log file = /var/log/samba/samba.%m
max log size = 500
time server = Yes
unix extensions = No
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
load printers = No
printcap name = /dev/null
disable spoolss = Yes
show add printer wizard = No
os level = 255
preferred master = Yes
domain master = Yes
wins support = Yes
ldap ssl = no
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind separator = /
winbind enum users = Yes
winbind enum groups = Yes
winbind refresh tickets = Yes
printing = bsd
print command = lpr -r -P'%p' %s
lpq command = lpq -P'%p'
lprm command = lprm -P'%p' %j
case sensitive = No
strict locking = No
wide links = Yes

[Distrib]
comment = OS Images
path = /home/formail/dist
valid users = @OFFICE/ubuntu_adusers
read list = @OFFICE/ubuntu_adusers
write list = @OFFICE/ubuntu_adadmins
read only = No
create mask = 0644
guest ok = Yes


я так понял, что проблемы с master browser, но утилиты nmblookup у меня почму то нет, что бы посмотреть что там не так :-(

Mielofon
()

Ubuntu Server +Iptables +squid +htb разрывается коннект у клиентов.

Форум — Admin

Я совсем недавно решился перевести раздачу интернета на Linux сервер.

Поставил настроил:

# cat /etc/issue
Ubuntu 10.10 \n \l
# uname -a
Linux router.office.sprut.ru 2.6.35-28-server #49-Ubuntu SMP Tue Mar 1 14:55:37 UTC 2011 x86_64 GNU/Linux
# cat /proc/version
Linux version 2.6.35-28-server (buildd@allspice) (gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) ) #49-Ubuntu SMP Tue Mar 1 14:55:37 UTC 2011

Машин у меня в локалке 30. ADSL 7MBit/1MBit

настроил Squid, transparent HTTP-proxy, часть пользователей пустил через NAT (MASQUERADE). Скриптами htb-gen и htb-init сделал шейпер, что бы дать больше воздуху тем кому нужнее.

И всё даже работает. Вроде. Но часто наступают такие моменты что связь не держится нифига. Т.е. у всей сетки хором (может конечно и не совсем синхронно, но то что у всех точно) падает связь. ICQ, Jabber, Skype начинают пересоединятся. Они конечно пересоединяются и когда это пару раз за день, то и не заметят. Но когда начинается болтанка как например сегодня, то пользователи жить не дают, потому что у них морская болезнь уже от того что ICQ/Jabber/Skype туда сюда юолтаются :-(

Ну вот теперь вот вопрос должен быть: как добится что бы не было разрывов, но я хоть и новичок в Linux, но понимаю, что информации дал 0 для размышления. И главная то моя проблема - я не знаю что давать :-) Настройки squid.conf, /etc/iptables.up.rules, tc qdisc show кинуть можно, но букв там много а вникать подробно вряд ли кто будет.

Подскажите мне просто что делать и как искать узкое место или ошибку. Ну вот идут разрывы (хотя после обеда успокоилось, возможно net.netfilter.nf_conntrack_tcp_loose = 0 помогло). Куда смотреть и кого подозревать?

Например:

# conntrack -C
1536
# conntrack -S
entries                 1497
searched                12948168
found                   128924159
new                     8298250
invalid                 389864
ignore                  11816430
delete                  5978031
delete_list             5399467
insert                  7720032
insert_failed           14
drop                    0
early_drop              0
icmp_error              125119
expect_new              0
expect_create           0
expect_delete           0
search_restart          0
Если это плохо, то что плохо? 1536 это много? До обеда было около 3000 (munin всё записал). Это много? И если много то как сделать что бы было меньше или что бы при такой цифре работало бы. Да банально: conntrack -L выдаёт портянку, а мне бы сгруппировать по локальным адресам - что бы было видно от кого много соединений прёт. Есть какой нибудь инструмент который позволит это сделать?

Mielofon
()

RSS подписка на новые темы