【ifconfig】命令详解
时间:2009-06-12 来源:newcch
语法: ifconfig [网络设备] [down up -allmulti -arp -promisc] [add<地址>] [del<地址>] [<网络设备类型> <硬件地址>][io_addr] [irq ] [media<网络媒介类型>] [mem_start<内存地址>] [metric<数目>] [mtu<字节>] [netmask<子网掩码>] [tunnel<地址>] [-broadcast<地址>] [-pointopoint<地址>] [IP地址] 补充说明:ifconfig可设置网络设备的状态,或是显示目前的设置。 ------------------------------------------------------------------------------------------------------------------------------------ 参数: 接口 接口名称。通常是一个后跟单元号的驱动设备名,例如第一个以太接口 eth0 。 up 此选项激活接口。如果给接口声明了地址,等于隐含声明了这个选项。 down 此选项使接口驱动设备关闭。 [-]arp 允许或禁止在接口上使用 ARP 协议。 [-]promisc 允许或禁止接口置于混杂模式。如果选用,则接口可以接收网络上的所有分组。 [-]allmulti 允许或禁止组播模式(all-multicast) 。 如果选用,则接口可以接收网络上的所有组播分组。 metric N 将接口度量值设置为整数 N。 (译注:度量值表示在这个路径上发送一个分组的成本,就是通过多少个路由) mtu N 此选项设定接口的最大传输单元 MTU。 dstaddr addr 为点到点链路(如 PPP )设定一个远程 IP 地址。此选项现已废弃;用 pointopoint 选项替换。 netmask addr 为接口设定 IP 网络掩码。缺省值通常是 A,B 或 C 类的网络掩码 (由接口的 IP 地址推出),但也可设为其它值。 add addr/prefixlen 为接口加入一个 IPv6 地址。 del addr/prefixlen 为接口删除一个 IPv6 地址。 tunnel aa.bb.cc.dd 建立一个新的 SIT (在 IPv4 中的 IPv6 )设备,为给定的目的地址建立通道。 irq addr 为接口设定所用的中断值。并不是所有的设备都能动态更改自己的中断值。 io_addr addr 为接口设定起始输入/输出地址。 mem_start addr 设定接口所用的共享内存起始地址。只有少数设备需要。 media type 设定接口所用的物理端口或介质类型。并不是所有设备都会更改这项值,而且它们支持的类型可能并相同。典型的 type 是 10base2 (细缆以太网), 10baseT (双绞线 10Mbps 以太网), AUI (外部收发单元接口)等等。介质类型为 auto 则用于让设备自动判断介质。同样,并非所有设备都可以这样工作。 [-]broadcast [addr] 如果给出了地址参数,则可以为接口设定该协议的广播地址。否则,为接口设置(或清除)IFF_BROADCAST 标志。 [-]pointopoint [addr] 此选项允许接口置为“点到点”模式,这种模式在两台主机间建立一条无人可以监听的直接链路。 如果还给出了地址参数,则设定链路另一方的协议地址,正如废弃的 dstaddr 选项的功能。否则,为接口设置(或清除) IFF_POINTOPOINT 标志。 hw class address 如接口驱动程序支持,则设定接口的硬件地址。此选项必须后跟硬件的类型名称和硬件地址等价的可打印 ASCII 字符。当前支持的硬件类型包括 ether (以太网), ax25 (AMPR AX.25), ARCnet 和 netrom (AMPR NET/ROM)。 multicast 为接口设定组播标志。通常无须用此选项因为接口本身会正确设定此标志。 address 为接口分配的 IP 地址。 txqueuelen length 为接口设定传输队列的长度。可以为具有高时延的低速接口设定较小值以避免在象 telnet 这样烦人的交互通信时大量高速的传输。 =================================================================================== #删除原来 iptables 里面已经有的规则 iptables -F iptables -X #抛弃所有不符合三种链规则的数据包 iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #设置:本地进程 lo 的 INPUT 和 OUTPUT 链接 ; eth1的 INPUT链 iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i eth1 -m state --state NEW,INVALID -j LOG iptables -A OUTPUT -o lo -j ACCEPT #对其他主要允许的端口的 OUTPUT设置: # DNS iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 53 -j ACCEPT iptables -A OUTPUT -o eth1 -p UDP --sport 1024:65535 --dport 53 -j ACCEPT #HTTP iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 80 -j ACCEPT #HTTPS iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 443 -j ACCEPT #Email 接受 和发送 iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 110 -j ACCEPT iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 25 -j ACCEPT # FTP 数据和控制 iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 20 -j ACCEPT iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 21 -j ACCEPT #DHCP iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 68 -j ACCEPT iptables -A OUTPUT -o eth1 -p UDP --sport 1024:65535 --dport 68 -j ACCEPT #POP3S Email安全接收 iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 995 -j ACCEPT #时间同步服务器 NTP iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 123 -j ACCEPT #拒绝 eth1 其他剩下的 iptables -A OUTPUT -o eth1 --match state --state NEW,INVALID -j LOG 最后是有关于iptables存储的命令: 代码: iptables-save > /etc/iptables.up.rule # 存在你想存的地方 代码: iptables-restore < /etc/iptables.up.rules #调用 因为iptables 在每次机器重新启动以后,需要再次输入或者调用,为了方便操作,使用 代码: sudo gedit /etc/network/interfaces 在代码: auto ath0 iface ath0 inet dhcp 后面加上代码: pre-up iptables-restore < /etc/iptables.up.rules #启动自动调用已存储的iptables 代码: post-down iptables-save > /etc/iptables.up.rule #关机时,把当前iptables 储存。 ------------------------------------------------------------------------------------------------------------------------------------ 简单的iptables脚本转发 #!/bin/sh PATH=$PATH:/usr/sbin:/sbin echo 1 > /proc/sys/net/ipv4/ip_forward iptables -F INPUT iptables -F FORWARD iptables -F POSTROUTING -t nat iptables -P FORWARD DROP insmod ip_nat_ftp insmod ip_conntrack_ftp iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT #iptables -A FORWARD -s 172.16.1.0/16 -j ACCEPT iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT ##########web################ #iptables -t nat -A PREROUTING -d 222.240.220.18 -p tcp --dport 80 -j DNAT --to 172.16.1.8 #iptables -t nat -A POSTROUTING -d 172.16.1.8 -p tcp --dport 80 -j SNAT --to 172.16.1.1 #iptables -A FORWARD -o eth0 -d 172.16.1.8 -p tcp --dport 80 -j ACCEPT #iptables -A FORWARD -i eth0 -s 172.16.1.8 -p tcp --sport 80 -m --state ESTABLISHED -j ACCEPT #########mysql############### #iptables -t nat -A PREROUTING -d 222.240.220.18 -p tcp --dport 3306 -j DNAT --to 172.16.1.8 #iptables -t nat -A POSTROUTING -d 172.16.1.8 -p tcp --dport 3306 -j SNAT --to 172.16.1.1 #iptables -A FORWARD -o eth0 -d 172.16.1.8 -p tcp --dport 3306 -j ACCEPT #iptables -A FORWARD -i eth0 -s 172.16.1.8 -p tcp --sport 3306 -m --state ESTABLISHED -j ACCEPT #########ftp################# #iptables -t nat -A PREROUTING -d 222.240.220.18 -p tcp --dport 21 -j DNAT --to 172.16.1.8 #iptables -A FORWARD -o eth0 -d 172.16.1.8 -p tcp --dport 21 -j ACCEPT #iptables -A FORWARD -i eth0 -s 172.16.1.8 -p tcp --sport 21 -m --state ESTABLISHED -j ACCEPT #########ftp-data############ #iptables -A FORWARD -i eth0 -s 172.16.1.8 -p tcp --sport 20 -m --state ESTABLISHED,RELATED -j ACCEPT #iptables -A FORWARD -o eth0 -d 172.16.1.8 -p tcp --dport 20 -m --state ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o eth0 -j SNAT --to 220.168.64.98 |
相关阅读 更多 +