文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>【ifconfig】命令详解

【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
相关阅读 更多 +
排行榜 更多 +
火柴人狙击高手

火柴人狙击高手

飞行射击 下载
僵尸射击防御汉化版

僵尸射击防御汉化版

飞行射击 下载
士兵生存

士兵生存

飞行射击 下载