パスワードを忘れた? アカウント作成
670823 journal

soramineの日記: iptablesでDCC(長文注意)

日記 by soramine

 また長い時間かかってしまったですけれども、なんとか設定できたみたいなので日記に残しておくです。

 まず、いろいろわからないこといっぱいだったので調べてみたですの。

[root@blueberry root]# cd /proc/
[root@blueberry proc]# cat cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model : 8
model name : AMD-K6(tm) 3D processor
stepping : 12
cpu MHz : 399.811
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr mce cx8 pge mmx syscall 3dnow k6_mtrr
bogomips : 797.90

[root@blueberry proc]# cat meminfo
                total: used: free: shared: buffers: cached:
Mem: 129548288 109395968 20152320 0 12832768 48828416
Swap: 370094080 0 370094080
MemTotal: 126512 kB
MemFree: 19680 kB
MemShared: 0 kB
Buffers: 12532 kB
Cached: 47684 kB
SwapCached: 0 kB
Active: 64784 kB
Inact_dirty: 2244 kB
Inact_clean: 19644 kB
Inact_target: 17332 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 126512 kB
LowFree: 19680 kB
SwapTotal: 361420 kB
SwapFree: 361420 kB
Committed_AS: 39700 kB
[root@blueberry proc]# cat partitions
major minor #blocks name rio rmerge rsect ruse wio wmerge wsect wuse running use aveq

      8 0 4201632 sda 13641 20179 173350 191890 3364 6291 59058 861860 0 173210 1056590
      8 1 104391 sda1 32 80 224 660 12 5 34 4530 0 3610 5190
      8 2 1959930 sda2 6755 6805 107826 87460 769 1843 21104 396620 0 95510 486150
      8 3 714892 sda3 194 97 1674 2670 22 32 408 4980 0 5660 7650
      8 4 1 sda4 0 0 0 0 0 0 0 0 0 0 0
      8 5 522081 sda5 5832 9892 31448 57340 816 2243 6184 356270 0 68570 414370
      8 6 538146 sda6 815 3268 32042 43530 1745 2168 31328 99460 0 50490 143000
      8 7 361431 sda7 9 25 104 160 0 0 0 0 0 160 160
[root@blueberry proc]# cat version
Linux version 2.4.18-27.8.0 (bhcompile@sylvester.devel.redhat.com) (gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)) #1 Fri Mar 14 05:45:24 EST 2003

 それで、たぶん、カーネルのヴァージョンというのは 2.4.18-27.8.0 なんじゃないかなあと思うです。

[root@blueberry root]# ls -l /lib/modules/2.4.18-27.8.0/kernel/net/ipv4/netfilter/
合計 322
-rw-r--r-- 1 root root 15224 3月 14 20:16 arp_tables.o
-rw-r--r-- 1 root root 2628 3月 14 20:16 arptable_filter.o
-rw-r--r-- 1 root root 27968 3月 14 20:16 ip_conntrack.o
-rw-r--r-- 1 root root 5876 3月 14 20:16 ip_conntrack_ftp.o
-rw-r--r-- 1 root root 4336 3月 14 20:16 ip_conntrack_irc.o
-rw-r--r-- 1 root root 5224 3月 14 20:16 ip_nat_ftp.o
-rw-r--r-- 1 root root 4656 3月 14 20:16 ip_nat_irc.o
-rw-r--r-- 1 root root 11924 3月 14 20:16 ip_nat_snmp_basic.o
-rw-r--r-- 1 root root 10172 3月 14 20:16 ip_queue.o
-rw-r--r-- 1 root root 18940 3月 14 20:16 ip_tables.o
-rw-r--r-- 1 root root 52596 3月 14 20:16 ipchains.o
-rw-r--r-- 1 root root 50869 3月 14 20:16 ipfwadm.o
-rw-r--r-- 1 root root 6084 3月 14 20:16 ipt_LOG.o
-rw-r--r-- 1 root root 1924 3月 14 20:16 ipt_MARK.o
-rw-r--r-- 1 root root 3320 3月 14 20:16 ipt_MASQUERADE.o
-rw-r--r-- 1 root root 3220 3月 14 20:16 ipt_MIRROR.o
-rw-r--r-- 1 root root 1864 3月 14 20:16 ipt_REDIRECT.o
-rw-r--r-- 1 root root 4888 3月 14 20:16 ipt_REJECT.o
-rw-r--r-- 1 root root 3948 3月 14 20:16 ipt_TCPMSS.o
-rw-r--r-- 1 root root 2284 3月 14 20:16 ipt_TOS.o
-rw-r--r-- 1 root root 5708 3月 14 20:16 ipt_ULOG.o
-rw-r--r-- 1 root root 1624 3月 14 20:16 ipt_ah.o
-rw-r--r-- 1 root root 1628 3月 14 20:16 ipt_esp.o
-rw-r--r-- 1 root root 1648 3月 14 20:16 ipt_length.o
-rw-r--r-- 1 root root 2248 3月 14 20:16 ipt_limit.o
-rw-r--r-- 1 root root 1692 3月 14 20:16 ipt_mac.o
-rw-r--r-- 1 root root 1432 3月 14 20:16 ipt_mark.o
-rw-r--r-- 1 root root 1600 3月 14 20:16 ipt_multiport.o
-rw-r--r-- 1 root root 2292 3月 14 20:16 ipt_owner.o
-rw-r--r-- 1 root root 1652 3月 14 20:16 ipt_state.o
-rw-r--r-- 1 root root 1860 3月 14 20:16 ipt_tcpmss.o
-rw-r--r-- 1 root root 1428 3月 14 20:16 ipt_tos.o
-rw-r--r-- 1 root root 1844 3月 14 20:16 ipt_ttl.o
-rw-r--r-- 1 root root 9420 3月 14 20:16 ipt_unclean.o
-rw-r--r-- 1 root root 3296 3月 14 20:16 iptable_filter.o
-rw-r--r-- 1 root root 3692 3月 14 20:16 iptable_mangle.o
-rw-r--r-- 1 root root 25418 3月 14 20:16 iptable_nat.o

 と見ると、確かに
ip_conntrack.o
ip_conntrack_ftp.o
ip_conntrack_irc.o
ip_nat_ftp.o
ip_nat_irc.o
 があるです。

 ここで、これらをinsmodすればいいみたいということで、/etc/rc.local に追加してみるです。

[root@blueberry root]# vi /etc/rc.local
-----追加-----
### 20030706 for iptables FTP and IRC DCC
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe -k ip_conntrack_irc ports=6667
/sbin/modprobe ip_nat_ftp
/sbin/modprobe -k ip_nat_irc ports=6667
-----以上-----

 これで再起動してみると次みたいになったです。

[root@blueberry root]# lsmod
Module Size Used by Not tainted
ip_nat_irc 3344 0 (autoclean) (unused)
ip_nat_ftp 4048 0 (unused)
ip_conntrack_irc 3360 0 (autoclean) (unused)
ip_conntrack_ftp 4736 0 (unused)
parport_pc 17604 1 (autoclean)
lp 8612 0 (autoclean)
parport 33984 1 (autoclean) [parport_pc lp]
autofs 12228 0 (autoclean) (unused)
8139too 16712 2
mii 1996 0 [8139too]
ipt_REJECT 3448 6 (autoclean)
ipt_MASQUERADE 2072 1 (autoclean)
iptable_nat 18872 3 (autoclean) [ip_nat_irc ip_nat_ftp ipt_MASQUERADE]
ip_conntrack 20316 3 (autoclean) [ip_nat_irc ip_nat_ftp ip_conntrack_irc ip_conntrack_ftp ipt_MASQUERADE iptable_nat]
iptable_filter 2316 1 (autoclean)
ip_tables 14456 6 [ipt_REJECT ipt_MASQUERADE iptable_nat iptable_filter]
mousedev 5236 1
keybdev 2720 0 (unused)
hid 20836 0 (unused)
input 5696 0 [mousedev keybdev hid]
usb-uhci 24524 0 (unused)
usbcore 71680 1 [hid usb-uhci]
ext3 64160 5
jbd 48180 5 [ext3]
advansys 90016 6
sd_mod 13136 12
scsi_mod 102184 2 [advansys sd_mod]

 それでiptablesの設定は次みたいになっているです。

[root@blueberry root]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.2.6a on Sun Apr 13 22:06:28 2003
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
[0:0] -A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Sun Apr 13 22:06:28 2003
# Generated by iptables-save v1.2.6a on Sun Apr 13 22:06:28 2003
*filter
:INPUT ACCEPT [291:282736]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [410:44039]
:RH-Lokkit-0-50-INPUT - [0:0]
[412:294397] -A INPUT -j RH-Lokkit-0-50-INPUT
[23:1748] -A RH-Lokkit-0-50-INPUT -p udp -m udp --sport 123 --dport 123 -j ACCEPT
[0:0] -A RH-Lokkit-0-50-INPUT -s 43.224.255.18 -p udp -m udp --sport 53 --dport 1025:65535 -j ACCEPT
[6:1048] -A RH-Lokkit-0-50-INPUT -s 218.176.253.68 -p udp -m udp --sport 53 --dport 1025:65535 -j ACCEPT
[0:0] -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 53 --tcp-flags SYN,RST,ACK SYN -j ACCEPT
[0:0] -A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 53 -j ACCEPT
[0:0] -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 123 --tcp-flags SYN,RST,ACK SYN -j ACCEPT
[0:0] -A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 123 -j ACCEPT
[0:0] -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -j ACCEPT
[8:2888] -A RH-Lokkit-0-50-INPUT -i eth0 -p udp -m udp --sport 67:68 --dport 67:68 -j ACCEPT
[0:0] -A RH-Lokkit-0-50-INPUT -i eth1 -p udp -m udp --sport 67:68 --dport 67:68 -j ACCEPT
[76:5026] -A RH-Lokkit-0-50-INPUT -i lo -j ACCEPT
[8:951] -A RH-Lokkit-0-50-INPUT -i eth1 -j ACCEPT
[0:0] -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 0:1023 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable
[0:0] -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 2049 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable
[0:0] -A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 0:1023 -j REJECT --reject-with icmp-port-unreachable
[0:0] -A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 2049 -j REJECT --reject-with icmp-port-unreachable
[0:0] -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 6000:6009 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable
[0:0] -A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 7100 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Sun Apr 13 22:06:28 2003

 このままではだめだったですから、次のようなものを追加しようと思ったですの。

-----方針-----
### 送信eth0(global) 受信eth1(local) ESTABLISHEDとRELATEDはACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

### ACCEPT 7002:7005 for IRC DCC
iptables -A FORWARD -p tcp --dport 7002:7005 -j ACCEPT
### IRC DCC tcp 7002:7005 to 192.168.1.2-3:7002-7005
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 7002 -j DNAT --to-destination 192.168.1.2:7002
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 7003 -j DNAT --to-destination 192.168.1.3:7003
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 7004 -j DNAT --to-destination 192.168.1.4:7004
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 7005 -j DNAT --to-destination 192.168.1.5:7005
-----以上-----

 ファイルに作る方法もあるですけれど、元となっているものの設定がどうなっているか確実にわからない状態でしたですから、そのまま入力したです。

[root@blueberry root]# iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@blueberry root]# iptables -A FORWARD -p tcp --dport 7002:7005 -j ACCEPT
[root@blueberry root]# iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 7002 -j DNAT --to-destination 192.168.1.2:7002
[root@blueberry root]# iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 7003 -j DNAT --to-destination 192.168.1.3:7003
[root@blueberry root]# iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 7004 -j DNAT --to-destination 192.168.1.4:7004
[root@blueberry root]# iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 7005 -j DNAT --to-destination 192.168.1.5:7005

 これで iptables の設定を保存したですの。それでサービスを再起動したです。

[root@blueberry root]# /etc/init.d/iptables save
現在のルールを/etc/sysconfig/iptablesに保存中: [ OK ]

[root@blueberry root]# service iptables restart
現在のすべてのルールとユーザ定義チェインを初期化中: [ OK ]
現在のすべてのルールとユーザ定義チェインを破棄中: [ OK ]
iptablesファイアウォールルールを適用中: [ OK ]

 WindowsのChocoaを起動して、高度な設定をするですけれども、ルータを経由しているときにDCCができるように NATIP1.00.csf という Chocoa Script を利用させてもらうです。ミラーして保存しておいてくださっている方がいらっしゃったみたいなのでリンクしておくです。

IRCについて

 Chocoaの実行ファイルの置いてあるフォルダあたりに NATIP1.00.csf を置いておいて、

設定(P)>スクリプト設定(C)>追加(A)ボタン>NATIP1.00.csfを選択>チェックを入れておく

 とやると、DHCPでIPアドレスが変更されたりするときは便利かもしれないです。確認は

 Chocoaの設定では、設定(P)>高度な設定(V)>NAT用設定タブ

 で見るです。そこでiptablesで設定したポートを入力するですの。たとえば 192.168.1.2 のPCであれば設定は

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 7002 -j DNAT --to-destination 192.168.1.2:7002

 にしたですから、ポート番号(P)を 7002 にするです。NATIP1.00.csfを使わないときでも、グローバルIPアドレスがわかればそれを入力すれば使えるです。

 さてこれでたぶんだいたい準備ができたと思うですから DCC できるか調べてみるです。あと FTP も調べてみるです。

 ちゃんとDCCもFTP接続もできたですから、数ヶ月越しでの設定はこれでおしまい★

(参考URL)
http://srad.jp/journal.pl?op=display
http://srad.jp/comments.pl?sid=99499
http://www.linux.or.jp/JM/html/modutils/man8/insmod.8.html
http://www.linux.or.jp/security/firststep.html
http://www.linux.or.jp/JM/html/modutils/man8/lsmod.8.html
http://www.linux.or.jp/JM/html/iptables/man8/iptables.8.html
http://www.linux.or.jp/JM/html/modutils/man8/depmod.8.html
http://www.linux.or.jp/JM/html/modutils/man8/modprobe.8.html
http://www.linux.or.jp/JM/html/modutils/man5/modules.conf.5.html
http://www.ceek.jp/search.cgi?q=iptables+ip_nat_irc
http://www.misao.gr.jp/~koshian/pc/iptables-quick-start.html
http://www3.big.or.jp/~sian/linux/tips/iptables.html
http://www.whizz.jp/~bbc/iptables_ipmasq.htm

http://www.cl.is.sci.toho-u.ac.jp/~ono/memo/iptables.html
http://www.jp.redhat.com/manual/Doc9/rhl-cg-ja-9/ch-basic-firewall.html
http://www2.biglobe.ne.jp/~mine/linux/install8.html
http://www.connect-i.co.jp/tips/20030225-001.html
http://hp.vector.co.jp/authors/VA027424/iptables-m.htm
http://panna.zive.net/linux/linux_kh13.html
http://kansai.anesth.or.jp/gijutu/unix/man-iptab.php
http://online.scopesd.jp/jitakusv.html
http://homepage3.nifty.com/maturyo/guutara.html
http://www2.ocn.ne.jp/~ys523/irc/

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike

読み込み中...